当前位置: 首页 > news >正文

聊城市住房和城乡建设局网站上杭县建设局网站

聊城市住房和城乡建设局网站,上杭县建设局网站,注册公司一般需要多少钱,百斯特网站建设排序算法稳定性假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]r[j],且r[i]在r[j]之前,而在排序后的序列中,r[…

排序算法稳定性

假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。

冒泡排序(bubble sort)

列表中每相邻的两个数进行比较,如果前面比后面大,则交换这两个数。

排序完成后,无序区减少了一个数,有序区增加了一个数。

代码关键点:总趟数(n-1),每一趟无序区范围,每一趟下标最大值为(n-i-1)

代码关键点分析:

总趟数(n-1)

无序列表:arr[n] = {val0, val1, ..., val(n-1)};

  1. n = 1时,即无序列表只有1个元素,只要进行比较0趟

  1. n = 2 时,即无序列表有2个元素,只要进行比较1趟

  1. n = 3 时,即无序列表有3个元素,只要进行比较2趟

  1. n = n 时,即无序列表有n个元素,只要进行比较 n - 1 趟

每一趟下标最大值为(n-i-1)

n = 3 时,即无序列表有3个元素,只要进行比较2趟,趟数从0开始,那么第0趟下标的最大值为n-i-1即3-0-1 = 2;

代码:

#include <iostream>using namespace std;template<typename T>
void bubble_sort(T *arr, int n)
{T temp;bool exchange;for (int i = 0; i < n-1; i++) //总趟数:n-1{exchange = false;for (int j = 0; j < n-i-1; j++) //每一趟下标最大值(即j+1这个下标的最大值)为:n-i-1{if (arr[j] > arr[j+1]){temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;exchange = true;}}if (!exchange) //一趟中,没有发生任何元素的交换,说明列表已排好序break;}
}int main(int argc, char *argv[])
{int arr[] = {3,5,2,1,4};int n = sizeof(arr)/sizeof(*arr);cout << "---before bubble sort---" << endl;for (int i = 0; i < n; i++){cout << arr[i] << " ";}cout << endl;bubble_sort(arr, n);cout << "---after bubble sort---" << endl;for (int i = 0; i < n; i++){cout << arr[i] << " ";}cout << endl;return 0;
}

结果:

时间复杂度:O()

因为冒泡排序算法,外循环对总趟数进行循环,内循环对每一趟进行循环,所以,算法时间复杂度为:O()

算法稳定性:稳定

冒泡排序算法,原无序列表中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的有序列表中,r[i]仍在r[j]之前所以冒泡排序算法稳定的。

ending😃

http://www.yayakq.cn/news/263037/

相关文章:

  • 佛山外贸网站建设信息wdcp创建多个网站
  • 电脑做视频的网站吗建设小说网站
  • 高邑网站建设免费素材网免费素材图库
  • 如何制作营销网站企业网站例子
  • 二级域名如何绑定网站网络广告策划的步骤
  • wordpress 访问优化公司seo是指什么意思
  • 做网站三大主流框架如何在个人电脑用源码做网站
  • 网站上传文件夹天津市建设工程质量协会网站
  • 装修网站php源码郑州微信网站建设
  • 重庆网站推广哪家好建设工程合同协议书
  • 网站建设的实践体会南通高端网站建设机构
  • 手机浏览器网站开发2016做网站
  • 云南能投基础设施投资开发建设有限公司网站浙江备案需要开启网站吗
  • 建立企业门户网站做电子商务的网站
  • 深圳教育 网站建设app开发和网站开发哪个简单
  • 怎么样做网站赚钱百度seo网站排名优化
  • 商河网站建设在北京做网站制作一个月多少钱
  • 做网站原创要多少钱文章网站建设
  • jsp网站开发的教材衡水做企业网站的公司
  • 吉林市做网站的科技公司外贸怎么做站外推广
  • 天津公司做网站wordpress 复合筛选
  • 织梦新闻门户网站模板 原创精品wordpress二次开发手册chm
  • 做网站工作辛苦吗学做立体书的网站
  • 黑龙江开放网站备案门户网站建设存在的问题和差距
  • 南阳公司网站制作wordpress标题转英文
  • 黄岩做网站公司电话app模板图片
  • 如何创建网站的快捷方式网站建设具体步骤
  • 网站打开是目录结构图自学网站建设看哪本书
  • 网站建设200南京明辉建设有限公司网站
  • 贵州做农业网站网站快速建设入门教程