解题思路:快速排序的思想类似与打擂台(反着的打擂台),通过对数组遍历找到最小的一个元素,用一个变量来保存最小元素的下标,之后在和第一个元素交换,然后对第二个元素进行同样的操作。
注意事项:
参考代码:
#include<stdio.h> void swap(int *a,int *b) //交换两个数 { int temp = *a; *a = *b; *b = temp; } void selection_sort(int arr[], int len) { int i,j; for (i = 0 ; i < len - 1 ; i++) { int min = i;//存放第一个数的下标 for (j = i + 1; j < len; j++) //找到最小的一个数 if (arr[j] < arr[min]) min = j; swap(&arr[min], &arr[i]); //交换这两个数,使得第一个未最小的 } } int main() { int a[10] = {0}; for(int i = 0;i<10;i++) { scanf("%d",&a[i]); } selection_sort(a,10); for(int j = 0;j<10;j++) { printf("%d\n",a[j]); } return 0; }
0.0分
1 人评分
点我有惊喜!你懂得!浏览:1338 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1127 |
C语言训练-数字母 (C语言代码)浏览:649 |
DNA (C语言描述,数据结构)浏览:858 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:940 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:533 |
C语言训练-数字母 (C语言代码)浏览:608 |
字符逆序 (C语言代码)浏览:460 |
1071题解浏览:493 |
C二级辅导-求偶数和 (C语言代码)浏览:674 |