写几个排序的程序 初学可以看看(我自己也复习了)C程序
直接法排序#include<stdio.h>
#define N 10
void main()
{
int a[N+1],i,j;
printf("Input 10 integer num:");
for(i=1; i<=N;i++)
scanf("%d",&a
);
for(i=2;i<=N;++i)
if(a<a[i-1])
{
a[0]=a;
for(j=i-1;a[0]<a[j];--j)
a[j+1]=a[j];
a[j+1]=a[0];
}
printf("Output New seq.:");
for(i=1;i<=N;i++)
printf("%d ",a);
printf("\n");
}
起泡法
#include<stdio.h>
#define N 10
void main()
{
int a[N],t,i,j;
printf("Input 10 integer num:");
for(i=0; i<N;i++)
scanf("%d",&a);
for(j=0;j<N-1;j++)
for(i=0;i<N-j-1;i++)
if(a>a[i+1])
{
t=a;a=a[i+1];a[i+1]=t;
}
printf("Output New seq.:");
for(i=0;i<N;i++)
printf("%d ",a);
printf("\n");
}
选择法排序
#include<stdio.h>
#define N 10
void main()
{
int a[N],p,t,i,j;
printf("Input 10 integer num:");
for(i=0; i<N;i++)
scanf("%d",&a);
for(j=0; j<N-1;j++)
{
p=j;
for(i=j+1;i<N;i++)
{
if(a<a[p])
p=i;
}
t=a[p];a[p]=a[j];a[j]=t;
}
printf("Output New seq.:");
for(i=0;i<N;i++)
printf("%d ",a);
printf("\n");
}
个人感觉很基础 如果要是纯学数据结构的话 排序算不上重点 不过要是讲编程语言和数据结构联系起来查找和排序就很重要。呵呵 参考吧!写的不好 感觉比较繁琐 不过易懂