解题思路:快速排序的思想类似与打擂台(反着的打擂台),通过对数组遍历找到最小的一个元素,用一个变量来保存最小元素的下标,之后在和第一个元素交换,然后对第二个元素进行同样的操作。
注意事项:
参考代码:
#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 人评分
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:737 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:584 |
淘淘的名单 (C语言代码)浏览:1167 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:565 |
【偶数求和】 (C语言代码)浏览:588 |
母牛的故事 (C语言代码)浏览:1451 |
Tom数 (C语言代码)浏览:598 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:725 |
简单的a+b (C语言代码)浏览:444 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:856 |