1 / 49
文档名称:

c排序算法.pdf

格式:pdf   大小:6,158KB   页数:49页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

c排序算法.pdf

上传人:cjc201601 2022/8/17 文件大小:6.01 MB

下载得到文件列表

c排序算法.pdf

文档介绍

文档介绍:: .

>temp)
(
arr[j+incr]=arr[j];
j-=incr;
)
arr[j+incr]=temp;
}
--------------------------------------- Code---------------------------------------------
适用于排序小列表。
效率估计0 (nlog2"n) - 0 ( n " 1 .5 ) ,取决于增量值的最初大小。建议使用质数作为增量值,
因为如果增量值是2 的基,则在下一个通道中会再次比较相同的元素。
壳 (S h e ll)排序改进了插入排序,减少了比较的次数。是不稳定的排序,因为排序过程中元
素可能会前后跳跃。
五、归并排序
------------------------------------------------C o d e 从小至IJ大排序-------------------------
void MergeSort(int low,int high)
(
if(low>=high) return;〃每个子列表中剩下一个元素时停止
else int mid=(low+high)/2;/*将列表划分成相等的两个子列表,若有奇数个元素,则在左边子列
表大于右侧子列表*/
MergeSort(low,mid); 〃子列表进一步划分
MergeSort(mid+l,high);
int [] B =new int [high-low+1];〃新建一个数组,用于存放归并的元素
for(int i=low,j=mid+l,k=low;i<=mid && j<=high水++)/*两个子列表进行排序归并,直到两个子列
表中的一个结束*/
(
if (arr[i]<=arr[j];)
(
B [k]=arr[i];
I++;
)
else
{ B [k]=arr01; j+ + ;)
for( ;j<=high;j++,k++)〃如果第二个子列表中仍然有元素,则追加到新列表
B [k]=arr[j];
for(* =mid;i++,k++)〃如果在第一个子列表中仍然有元素,则追加到新列表中B [k]=arr[i];
for(int z=0;z<high-low+l;z++)〃将排序的数组B 的所有元素复制到原始数组a rr中
arr[z]=B [z];
------------------------------------------------------- Code-----------------------------------------------------
效 率 。 (n lo g n ),归并的最佳、平均和最糟用例效率之间没有差异。
适用于排序大列表,基于分治法。
六、快速排序
------------------------------------- Code----------------------------------------------
/*快速排序的算法思想:选定一个枢纽元素,对待排序序列进行分割,分割之后的序列一个
部分小于枢纽元素,一个部分大于枢纽元素,再对这两个分割好的子序列进行上述的过程。
*/ void swap(int a,int b){int t;t =a ;a =b ;b = t;}
int Partition(int [] arr,int lowjnt high)
(
int pivot=arr[low];〃采用子序列的第一个元素作为枢纽元素
while (low < high)
(
〃从后往前栽后半部分中寻找第一个小于枢纽元素的元素
while (low < high && arr[high] >= pivot)
(
-high;
)
〃将这个比枢纽元素小的元素交换到前半部分
swap(arr[low], arr[high]);
〃从前往后在前半部分中寻找第一个大于枢纽元素的元素
while (low <high &&arr [low ]<=pivot)
(
++low;
)
swap (arr [low ],arr [high ]);〃将这个枢纽元素大的元素交换到后半部分
)
return l

最近更新

2025年幼儿园中班五大领域目标电子教案 12页

2025年年加工6万吨大米生产线技术改造项目立项.. 50页

小学语文教师教学反思能力提升策略研究 3页

2025年平湖市林埭三村圩区Ⅰ标段工程监理总结.. 13页

小学第一学段数学游戏教学有效性研究 3页

小学生习作元认知的培养内容与策略研究 3页

二氧气的实验室制法 17页

小学信息技术生活化教学实践初探 4页

2025年峰联矿业有限公司年产40万吨石灰项目安.. 57页

2025年小学语文骨干教师培训总结 3页

2025年小学生心理健康教育个案辅导记录讲课讲.. 5页

2024年麻风病培训总结范文(6篇) 9页

2024田径运动会演讲稿(6篇) 10页

2025年小型物流企业信息管理系统毕业设计论文.. 68页

2025年封王生料带包装封箱品质控制规定 10页

2025年对上市公司股利分配问题的探究教学内容.. 4页

2025年二年级语文上册教学反思(优) 23页

《劳动最光荣》劳动者演讲稿(4篇) 7页

《小木船》的读后感 7页

《朗读者》观后感作文 7页

2025年二年级数学下册工作计划 41页

《计算机网络》第三章——计算机网络技术基础.. 5页

一年级上册数学《练习二十一》教学设计 11页

2024年邵阳职业技术学院单招职业技能测试题库.. 187页

项目经理年终工作总结2024(22篇) 85页

人教版二年级数学下册《轴对称图形》说课稿 8页

奇妙的数学文化读后感四年级下册钱守旺 1页

房地产财务分析报告范本(共22页) 22页

传授菩萨戒仪轨 18页

《佛教念诵集》(早课)简体注音校正版 30页