您的位置:首页 > 编程语言 > C语言/C++

C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置

2018-02-28 22:51 330 查看
#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;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐