c语言 选择法排序

来源:百度知道 编辑:UC知道 时间:2024/05/13 16:02:45
c语言 选择法排序

#include<stdio.h>
void selectSort(int a[],int n)
{int t,i,j,k;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j;
t=a[i];
a[i]=a[k];
a[k]=t;
}
}

main()
{int a[100],n,i;
scanf("%d",&n);
puts("Arrange:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
selectSort(a,n);
puts("Sorted Arrange:");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
getch();
}

void SelectionSort(int array[], int n){
int i, j, k, t;
for(i=0;i<n-1;i++)
{
k=i; //k指向未排序区间中的第一个元素
for(j=i+1;j<n;j++) //j分别指向未排序区间第二个到最后一个元素
if(array[j]<array[k]) k=j; //k始终指向未排序区间中最小元素
// array[k]和array[i]互换
t=array[k];
array[k]=array[i];
array[i]=t;
}
}

前面回答的程序由大到小排序可以,但是有小到大会有b