三种排序对比:选择法,插入法,冒泡法
三种排序都是最基本的,时间复杂度最大为O(n*n)的排序方法。这里给出的是采用数组形式的简单序列排序(从小到大)。
#include
int main()
{
int a[10]={4,6,8,2,0,1,5,7,3,9};
int i,j,k;
for(j=0;j
for(i=j+1;i
if(a[i]
k=a[i];
a[i]=a[j];;
a[j]=k;
}
for(j=0;j<=9;j++)printf("%d\n",a[j]);
system("pause");
}
#include
int main()
{
int a[10]={4,6,8,2,0,1,5,7,3,9};
int i,j,k;
for(j=0;j
for(i=0;i
if(a[i]>a[i+1]){
k=a[i];
a[i]=a[i+1];
a[i+1]=k;
}
for(j=0;j<=9;j++)printf("%d\n",a[j]);
system("pause");
}
#include
int main()
{
int a[10]={9,2,2,5,6,7,4,5,1,0},i,j,k,m;
for(i=1;i<=9;i++)
{
m=a[i];
for(j=i-1;j>=0 && m
a[j+1]=a[j];
a[j+1]=m;
}
for(k=0;k<=9;k++)
printf("%d\n",a[k]);
system("pause");
}
大部分数据结构书上插入排序的写法,感觉用while反而不太清楚:
#include
int main()
{
int i,j,k,l;
int a[10]={4,6,8,2,0,1,5,7,3,9};
for(i=1;i<=9;i++)
{
k=a[i];
j=i-1;
while(j>=0 && a[j]>k)
{
a[j+1]=a[j];
j--;
}
a[j+1]=k;
}
for(l=0;l<=9;l++)
printf("%d\n",a[l]);
system("pause");
}
引用地址:http://blog.programfan.com/trackback.asp?id=30329
阅读全文
类别:Arithmetic 查看评论
版权声明:本文为CSDN博主「weixin_33716557」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_33716557/article/details/91928863