首页 > 代码库 > 选择排序

选择排序

/****  @author:hushunfeng**    选择排序,从大到小排列*/#include<stdio.h>//在所给数组的一段区间内计算出最大值//并得到其最大元素的下标int getMaxIndex(int array[],int k,int len) {    //每一轮最大值所在的下标    int index = 0;    int tempMax;    int i;    for(i=k;i<len;i++) {         if(array[i]>tempMax) {            tempMax = array[i];            index = i;        }    }    //return     return index;}//每轮得到的最大元素和所在区间最前面的元素进行互换void swapElement(int array[],int index,int k) {    int temp;    temp = array[k];    array[k] = array[index];    array[index] = temp;}//程序入口void main() {        //定义输入的整型数组长度为10    #define LEN 10    int array[LEN];    int index;    int k;    int i;    int count;    printf("请输入%d个整型数据:",LEN);    for(count=0;count<LEN;count++) {        scanf("%d",&array[count]);    }    for(k=0;k<(LEN-1);k++) {        index = getMaxIndex(array,k,LEN);        swapElement(array,index,k);    }    printf("输入的数据从大小排序为:");    for(i=0;i<LEN;i++) {        printf("%d  ",array[i]);    }}