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

刚开始学:C语言 SelecttionSort选择排序算法

2015-08-03 15:57 267 查看
/*从当前未排序的整数中找一个最小的整数,
将它放在已排序的整数列表的最后。
要点:选择排序选最小的元素,往左边选。
冒泡排序 与 选择排序。*/

#include<stdio.h>
void SelectSort(int*a,int n);//老是忘记声明

void SelectSort(int*a,int n)
{
int outer,inner,t;//输出下标和查找下标,容器变量。
int min;          //最小下标,用于记录
for(outer = 0;outer<n-1;outer++)
{
min = outer;            //最小指针指向开始
for(inner = outer+1;inner<n;inner++)//查找指针遍历
{
if(a[inner]<a[min]){ //两辆比较的最小值,改变最小指针指向
min = inner;
}
t = a[outer];        //每轮遍历后最小指针传值到前头。
a[outer] = a[min];
a[min] = t;
}
}

}

int main(void){
int k,x[10] = {2,4,9,6,5,7,3,8,1,0};
for(k = 0;k<10;k++)
printf("%d\t",x[k]);
printf("\n");

SelectSort(x,10);

for(k = 0;k<10;k++)
printf("%d\t",x[k]);

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