C 语言经典题目系列解决方案(8)-选择排序
2010-09-16 09:44
344 查看
main(){ int n=10,i,j,k; int numbers[10]; int temp; /*生成一个数组*/ for (i=0;i<n;i++){ numbers[i]=(int)rand()%100; printf("%3d",numbers[i]); if (i==n-1) printf("/n"); } /*开始选择排序*/ for (i=0;i<n;i++){ temp=numbers[i]; k=i;/*这句代码的目的是保证:如果当前i的位置已经正确,不再和上次得到的k进行交换。*/ for (j=i+1;j<n;j++){ if (numbers[j]<temp){temp=numbers[j];k=j;} } /*交换*/ temp=numbers[i]; numbers[i]=numbers[k]; numbers[k]=temp; } /*输出排序后的数组*/ for (i=0;i<n;i++){ printf("%3d",numbers[i]); } getchar(); }
相关文章推荐
- C 语言经典题目系列解决方案(9)-直接插入排序
- C 语言经典题目系列解决方案(10)-快排
- C 语言经典题目系列解决方案(3)-链表创建与倒置
- C 语言经典题目系列解决方案(5)-gcd问题
- C 语言经典题目系列解决方案(1)-报数问题
- C 语言经典题目系列解决方案(6)-有序链表的归并
- C 语言经典题目系列解决方案(11)-折半查找
- C 语言经典题目系列解决方案(4)-Fibonacci
- C 语言经典题目系列解决方案(7)-冒泡排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 经典系列――选择排序
- 白话经典算法系列之四 直接选择排序及交换两个数据的正确实现
- 【转载】白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 经典算法系列四----冒泡与选择排序
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
- 白话经典算法系列之四 直接选择排序及交换二个数据的正确实现