分类: C/C++
2008-04-17 22:44:59
{
int i,j,k,temp;
for(i=0;i
{
k=i;
/*把最小的那一个数找出来,并且用a[k]记下来,然后与a[i]交换;*/
for(j=i+1;j
if(array[k]>array[j])
k=j;
temp=array[k];
array[k]=array[i];
array[i]=temp;
}
}
void main()
{
int a[]={12,43,54,23,32,65,87,2,34,54};
int i;
sort(a,10);
for(i=0;i<10;i++)
printf("%d\t",a[i]);
}
这是一个快速排序的程序:
#include
void quick_sort(int array[],int first,int last)//first,last分别为数组下标的范围;
{
int temp,low,high,list_separator;
low=first;
high=last;
/*下面是比较数组中的大小,把数组中的数与中间数比较,大的放在后半部分,比中间数小的放在前半部分,*/
list_separator=array[(first+last)/2];//中间数;
do{
while(array[low]
low++;
while(array[high]>list_separator)// 中间数与后半部分比较;
&nb