C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
#include <stdio.h> int main(void) { /* 选择排序算法 原理:从数组中 找出最小的元素然后交换位置; */ int a[10] = {9,5,10,7,2,3,1,6,8,4}; int i=0,j=0; int n = sizeof(a)/4; //外循环n-1轮 for(i=0;i<n-1;i++){ int pos = i;//始终指向最小的位置 for(j=i+1;j<n;j++){ if(a[j]<a[pos]){ pos = j;//找出最小元素的那个下标 pos=6 第一次6 } } if(i!=pos){ int temp = a[i]; a[i] = a[pos]; a[pos] = temp; } } //输出 for(i=0;i<n;i++){ printf("a[%d]=%d\n",i,a[i]); } return 0; }
佛语:我本求心不求佛,了知三界空无物,若欲求佛但求心,只这心心心是佛