选择排序

2019-11-09  本文已影响0人  落入粪池的凤凰
选择排序
void selectSort(int arr[],int length);
void swap(int arr[], int a ,int b);
void printLog(int arr[],int length);

int main(int argc, char * argv[]) {
    int arr[10] = {1,2,5,6,4,3,9,8,7};
//    bubbleSort(arr, 9);
    selectSort(arr, 9);
    printLog(arr, 9);
    return 1;
}

void selectSort(int arr[],int length){
    int minIndex = 0;
    //大圈循环提供index,用于交换,index之前的都是有序区
    for(int i=0;i<length-1;i++){
        minIndex = i;//默认最小值就是要排序的index
        //小循环用于找到index之后的无序区的里面的最小(或最大)
        for(int j=i+1;j<length;j++){
            //记录最小数的index值
            if(arr[minIndex]>arr[j]){
                minIndex = j;
            }
        }
        swap(arr, i, minIndex);
    }
}


void swap(int arr[], int a ,int b){
    int temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}

void printLog(int arr[],int length){
    for(int i=0;i<length;i++){
        printf("%d ",arr[i]);
    }
}

#输出 1 2 3 4 5 6 7 8 9 
上一篇 下一篇

猜你喜欢

热点阅读