几种常见内部排序算法比较(2)

2025-07-27

这是在我大学期间学习C语言时学到的几种常见的内部排序算法的。在大学期间,计算机相关专业的同学,只要掌握这几种排序算法就已经足够了!

详细设计

1、起泡排序

算法:核心思想是扫描数据清单,寻找出现乱序的两个相邻的项目。当找到这两个项目后,交换项目的位置然后继续扫描。重复上面的操作直到所有的项目都按顺序排好。

bubblesort(struct rec r[],int n)

{

int i,j;

struct rec w;

unsigned long int compare=0,move=0;

for(i=1;i<=n-1;i++)

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

{

if(r[j].key<r[j-1].key)

{

w=r[j];

r[j]=r[j-1];

r[j-1]=w;

move=move+3;

}

compare++;

}

printf("\nBubbleSort compare= %ld,move= %ld\n",compare,move); }

2、直接插入排序

算法:经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入L[1..i-1]的适当位置,使得L[1..i]又是排好序的序列。要达到这个目的,我们可以用顺序比较的方法。首先比较L[i]和L[i-1],如果L[i-1]≤ L[i],则L[1..i]已排好序,第i遍处理就结束了;否则交换L[i]与L[i-1]的位置,继续比较L[i-1]和L[i-2],直到找到某一个位置j(1≤j≤i-1),使得L[j] ≤L[j+1]时为止。

insertsort(struct rec r[],int n)

{

int i,j;

unsigned long int compare=0,move=0;


几种常见内部排序算法比较(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:股权投资基金合伙企业有限合伙协议书范本1

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219