选择排序

来源:互联网 发布:商业宣传软件 编辑:程序博客网 时间:2024/06/07 08:27

将数组 a[10] = {7,2,9,4,1,3,8,6,5,0}从小到大排序并打印结果

打印函数

void printA(int *a,int len){int i;for(i = 0; i < len; i++){printf("%4d",a[i]);}printf("\n");}

交换函数

void Swap(int *a,int i,int j){int tmp = a[i];a[i] = a[j];a[j] = tmp;}

选择排序

void select(int *a, int len){int i,j;int min;                                //min记录最小数下标for(i = 0; i < len; i++)                //外层循环控制轮数,每轮找出一个最小数{min = i;for(j = i+1; j < len; j++)      //内层循环每一轮找出最小数下标{if(a[min] > a[j])     {min = j;}}if(min != i)                    //当下标改变时交换两数位置{Swap(a,i,min);}}}
main函数调用

int main(){int a[10] = {7,2,9,4,1,3,8,6,5,0};int len = sizeof(a)/sizeof(a[0]);select(a,len);printA(a,len);return 0;}



原创粉丝点击