这是在我大学期间学习C语言时学到的几种常见的内部排序算法的。在大学期间,计算机相关专业的同学,只要掌握这几种排序算法就已经足够了!
for(i=2;i<=n;i++)
{compare++;
r[0]=r[i];
move++;
j=i-1;
while(r[0].key {r[j+1]=r[j];
j--;
move++;
++compare;}
r[j+1]=r[0];
move++;
}
printf("\nInsertSort compare= %ld,move= %ld\n",compare,move); }
3、简单选择排序
算法:首先找到数据清单中的最小的数据,然后将这个数据同第一个数据交换位置;接下来找第二小的数据,再将其同第二个数据交换位置,以此类推。
selectsort(struct rec r[],int n)
{
unsigned long int compare=0,move=0;
int i,j,k;
struct rec w;
for(i=1;i<=n-1;i++)
{ k=i;
for(j=i+1;j<=n;j++)
{ if(r[j].key>r[k].key) {k=j; compare++; }
w=r[i];
r[i]=r[k];
r[k]=w;
move=move+3;
}
}
printf("\nSelectSort compare= %ld,move= %ld\n",compare,move); }
4、快速排序
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库几种常见内部排序算法比较(3)在线全文阅读。
相关推荐: