永发信息网

冒泡排序的中心思想

答案:3  悬赏:60  手机版
解决时间 2021-06-07 16:36
冒泡排序的中心思想是什么?例如:541,132,984,746,518,181,946,314,205,827;这些数要用冒泡排序要分几步?每部分别是什么?
最佳答案

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放
后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因
为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,
第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。

  由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

  用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复
9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于
每一个i, j的值依次为1,2,...10-i。

全文看百科
http://baike.baidu.com/view/254413.htm
全部回答

冒泡排序就是 前一个和后一个比较,哪个大哪个前移(也可以后移,看你自己的算法),直到所有数据都比较完了。

这些数要有9趟排序,每趟也需要一个一个比较

给个算法你:

BUBBLESORT(R)

rectype R[];

{ int i, j, noswap;

rectype temp;

for (i =0;i<n-2;i++)

{noswap=TRUE

for(j=n-1;j>=i;j--)

{ if(R[j+1].key<R[j].key)

{temp=R[j+1];

R[j+1]=R[j];

R[j]=temp;

noswap=FALSE;

}

if(noswap) break;

}

}

}

建议你用鸡尾酒排序吧,比冒泡排序的效率高多了,基本思想如下:

也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序, 是冒泡排序的一种变形。此演算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。

与冒泡排序不同的地方  鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。

  以序列(2,3,4,5,1)为例,鸡尾酒排序只需要访问一次序列就可以完成排序,但如果使用冒泡排序则需要四次。

  复杂度

  鸡尾酒排序最糟或是平均所花费的次数都是O(n2),但如果序列在一开始已经大部分排序过的话,会接近O(n)。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有盗用手机上网流量的吗?
灼眼的夏娜第三季什么时候出?
兴致勃勃一条心,形影难离一家亲,雄心壮志直上
1990年8月20日出生的和1993年5月19日出生的人
怎么对我的钱包加锁啊?
全球通58月包月包括什么?
烽火战国中一星完美的英雄和二星普通的英雄哪
关于pt应用
涧西区洛阳金龙武馆地址是什么,有没有知道的
用JAVA编一个计算器 我编好了 但是运行就有错
湖北武汉移动神州行家园卡打长途多少钱一分钟
过宝钢喜欢谁
笔记本买哪种品牌,什么型号好?
天龙八部漕运一次只可以买一份商品吗?
聊天记录保存在我的文档中如何查看啊
推荐资讯
咸安区国家统计局咸宁调查队怎么去啊,谁知道
泉州八中为何如此垃圾
柞蚕丝被好吗,蚕丝被什么牌子好?钱皇的好吗
告诉下宋词豪放派的有那些词?高手都看看吧,打
金乡县工商局卜集工商所地址有知道的么?有点
专利的受理通知书,专利受理通知书这么看出什
从上海青浦区徐泾镇到闵行区清江怎么走?
问一下,我电脑配置能玩轩辕传奇吗
關於QQ旋風的配置
sth occur to sb什么意思?
小王在电脑上设计了一个有理数运算程序,输入A
花岗岩 石灰岩 页岩 砂岩 大理岩的特性
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?