1.冒泡排序
代码
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[8]={45,23,97,81,15,45,98,21};
int len = sizeof(a)/sizeof(a[0]);
for(int i=0;i<len-1;i++)
{
for(int j=0;j<len-i-1;j++)
{
if(a[j]>a[j+1])
{
a[j]=a[j]+a[j+1];
a[j+1]=a[j]-a[j+1];
a[j]=a[j]-a[j+1];
}
}
}
for(int k=0;k<len;k++)
{
printf("%-3d",a[k]);
}
putchar(10);
return 0;
}
运行结果
2.选择排序
代码
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[]={78,23,65,48,25,8,73,12};
int len=sizeof(a)/sizeof(a[0]);
int key,temp;
for(int i=0;i<len;i++)
{
key=i;
for(int j=i+1;j<len;j++)
{
if(a[key]>a[j])
{
key=j;
}
}
if(key!=i)
{
temp=a[key];
a[key]=a[i];
a[i]=temp;
}
}
for(int i=0;i<len;i++)
{
printf("%-3d",a[i]);
}
printf("\n");
return 0;
}
运行结果
3.插入排序
代码
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[]={73,82,64,99,23,48,65,28};
int len = sizeof(a)/sizeof(a[0]);
int key,j,i;
for(i=1;i<len;i++)
{
key=a[i];
for(j=i-1;j>=0;j--)
{
if(key>a[j])
break;
a[j+1]=a[j];
}
a[j+1]=key;
}
for(int i=0;i<len;i++)
{
printf("%-3d",a[i]);
}
printf("\n");
return 0;
}
运行结果