1 / 14
文档名称:

10种排序法(冒泡、选择、插入、希尔、归并、快速、堆、拓扑、基数、锦标赛排序).doc

格式:doc   页数:14
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

10种排序法(冒泡、选择、插入、希尔、归并、快速、堆、拓扑、基数、锦标赛排序).doc

上传人:所以所以 2013/8/19 文件大小:0 KB

下载得到文件列表

10种排序法(冒泡、选择、插入、希尔、归并、快速、堆、拓扑、基数、锦标赛排序).doc

文档介绍

文档介绍:各种排序算法总结
排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准:
(1)执行时间
(2)存储空间
(3)编程工作
对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。
主要排序法有:
一、冒泡(Bubble)排序——相邻交换
二、选择排序——每次最小/大排在相应的位置
三、插入排序——将下一个插入已排好的序列中
四、壳(Shell)排序——缩小增量
五、归并排序
六、快速排序
七、堆排序
八、拓扑排序
九、锦标赛排序
十、基数排序
一、冒泡(Bubble)排序
----------------------------------Code 从小到大排序n个数------------------------------------
void BubbleSortArray()
{
for(int i=1;i<n;i++)
{
for(int j=0;i<n-i;j++)
{
if(a[j]>a[j+1])//比较交换相邻元素
{
int temp;
temp=a[i]; a[j]=a[j+1]; a[j+1]=temp;
}
}
}
}
-------------------------------------------------Code------------------------------------------------
效率 O(n²),适用于排序小列表。
二、选择排序
----------------------------------Code 从小到大排序n个数--------------------------------
void SelectSortArray()
{
int min_index;
for(int i=0;i<n-1;i++)
{
min_index=i;
for(int j=i+1;j<n;j++)//每次扫描选择最小项
if(arr[j]<arr[min_index]) min_index=j;
if(min_index!=i)//找到最小项交换,即将这一项移到列表中的正确位置
{
int temp;
temp=arr[i]; arr[i]=arr[min_index]; arr[min_index]=temp;
}
}
}
-------------------------------------------------Code------------------------------------------------------
效率O(n²),适用于排序小的列表。
三、插入排序
--------------------------------------------Code 从小到大排序n个数-------------------------------------
void InsertSortArray()
{
for(int i=1;i<n;i++)//循环从第二个数组元素开始,因为arr[0]作为最初已排序部分
{
int temp=arr[i];//temp标记为未排序第一个元素
int j=i-1;
while (j>=0 && arr[j]>temp)/*将temp与已排序元素从小到大比较,寻找temp应插入的位置*/
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=temp;
}
}
------------------------------Code--------------------------------------------------------------------------
最佳效率O(n);最糟效率O(n²)与冒泡、选择相同,适用于排序小列表
若列表基本有序,则插入排序比冒泡、选择更有效率。
四、壳(Shell)排序——缩小增量排序
-------------------------------------Code 从小到大排序n个数-------------------------------------
void ShellSortArray()
{
for(int incr=3;incr<0;incr--)//增量递减
{
for(int L=0;L<(n-1)/incr;L++)//重复分成的每个子列表
{
for(int i=L+incr;i<n;i+=incr)//对每个子列表应用插入排

最近更新

2025年医用真空负压机项目合作计划书 66页

2025年医疗器械批发零售项目合作计划书 63页

2025年兽用生物制品项目合作计划书 69页

2025年偏光片项目合作计划书 65页

2025年六氟磷酸锂项目合作计划书 59页

2025年加油站设备项目合作计划书 49页

2025年出租汽车客运服务项目合作计划书 60页

2025年包装机项目合作计划书 70页

纳米塑料的尺寸依赖性毒性:基于毒代-毒效动力.. 7页

2025年皖北卫生职业学院单招职业适应性考试模.. 45页

2025年福州科技职业技术学院单招职业技能测试.. 43页

2025年绵阳飞行职业学院单招职业倾向性考试模.. 44页

2025年贵州工贸职业学院单招职业技能考试题库.. 44页

2025年重庆市宜宾市单招职业适应性考试题库附.. 45页

2025年长春汽车职业技术大学单招职业技能考试.. 42页

2025年陕西省汉中市单招职业倾向性测试题库附.. 43页

2025年马鞍山市住房公积金管理中心编外聘用人.. 47页

2025年黑龙江民族职业学院单招职业倾向性考试.. 44页

2025广东肇庆市四会市卫生健康局所属事业单位.. 49页

2025新疆温泉县灵泉文化旅游发展有限责任公司.. 44页

2025浙江温州科兴生命健康产业发展有限公司招.. 50页

2025甘肃定西市消防救援支队招聘战勤保障专职.. 44页

2026年安徽城市管理职业学院单招职业适应性考.. 37页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

2025年江西信息应用职业技术学院单招职业适应.. 127页

2025年江西信息应用职业技术学院单招职业倾向.. 73页

喝酒给老婆的检讨书 6页

vae乳液低温发泡工艺 29页

《口蹄疫》ppt课件 42页

自然条件对城市的影响 48页