手机版

常用排序算法的比较(8)

发布时间:2021-06-07   来源:未知    
字号:

0。0 第一次写了10KB+的代码略感动。 虽然好多都是来源于书本,但理解起来还是略费尽。总之还是很有成就感的!

所有记录重新排列成关键字有序的序列。

2.3.4冒泡排序.

冒泡排序的基本思想就是将待排序的元素看作是竖着排列的“气泡”,关键字较小的元素比较轻,从而要往上浮。在冒泡排序算法中需要对这个“气泡”序列处理若干遍。处理方法为,自底而上检查一遍整个序列,并时刻注意两个相邻元素的顺序是否正确。如果发现两个相邻元素逆序,即“轻”的元素如果在下边,就交换它们的位置。这样处理一遍之后,“最轻”的元素浮到了第一个,处理第二遍之后“次轻”的元素就浮到了第二个位置。并且,在作第二遍处理的时候,由于第一个位置上的元素已经是“最轻”,所以不必再次比较。即,第i遍处理时,不必检查第i个位置以下的元素。

BubbleSort():

for( i = Num; i >= 1; i--) { for( j = Num; j > swap; j--) { if(p[j] < p[j -1])//如果“轻”的元素在下边,则将其与上一个元素交换位置

{ p[0] = p[j -1]; p[j - 1] = p[j]; p[j] = p[0]; } } swap++;//监控排序次数 }

基本过程和算法:

第一遍冒泡排序,首先第Num个元素与第Num – 1个元素比较,逆序则交换;然后第Num -1元素与第Num – 1个元素比较;直到第二个元素与第一个元素比较为止。结果,关键字最小的元素放在第一的位置。

第二遍冒泡排序,除了对第一个之外的Num -1个元素进行相同操作,结果次小元素放在第二的位置上。

在排序过程中监控比较次数,当比较次数为 temp为 Num -1时,排序过程结束,所有元素都已经有序。

2.3.5快速排序

快速排序的基本思想是,通过一轮排序将序列分割成独立的两部分,其中一部分序列的关键字均比另一部分关键字小。继对长度缩短的序列进行同样的分

常用排序算法的比较(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)