问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。
输入:一个整数序列。
输出:整数序列,其中的整数升序排列。
//简单选择排序, 时间复杂度 O(n^2) 2017年7月21日 #include <stdio.h> #define LEN 10 int main(){ int i,j; int arr[LEN]; void sort(int a[LEN]); printf("请输入数组的%d个元素 ", LEN); for(i=0; i<LEN; i++){ scanf("%d",&arr[i]); } printf("排序前的数组为: "); for(j=0; j<LEN; j++){ printf("%4d",arr[j]); } printf(" "); //进行选择排序 sort(arr); printf("排序后的数组为: "); for(j=0; j<LEN; j++){ printf("%4d",arr[j]); } printf(" "); return 0; } void sort(int a[LEN]){ int min,temp,i,j; for(i=0; i<LEN; i++){ min=i; for(j=i+1; j<LEN; j++){ if(a[j]<a[min]) min=j; } temp=a[min]; a[min]=a[i]; a[i]=temp;//认真啊 } }