欢迎光临
我们一直在努力

c语言的三种排序方法

1 冒泡排序:

void bulling_sort(int *arr,int len){

        for(int i = 0;i<len;i++){

                for(int j = 0;j < len – i-1;j++){

                        if(arr[i] > arr[j]){

                                int tmp = arr[i];

                                arr[i] = arr[j];

                                arr[j] = tmp;

                        }

                }

        }

}

2 选择排序:

void choose_sort(int *arr,int len){

        for(int i = 0;i<len;i++){

                int min = i;

                for(int j = i + 1;j<len;j++){

                        if(arr[j] < arr[min]){

                                min = i;

                        }

                }

                if(min != i){

                        int tmp = arr[min];

                        arr[min] = arr[i];

                        arr[i] = tmp;

                }

        }

}

3 快速排序:

void quick_sort(int *arr,int left,int right){

        int i = left,j = right;

        int x = arr[left];

        while(i < j){

                while(i<j && arr[j] >= x){

                        j–;

                }

                if(i < j){

                        arr[i++] = arr[j];

                }

                while(i < j && arr[i] <= x){

                        i++;

                }

                if(i < j){

                        arr[j–] = arr[i];

                }

        }

        arr[i] = x;

        quick_sort(arr,left,i –  1);

        quick_sort(arr,i +1,right);

}

赞(0)
未经允许不得转载:171主机测评 » c语言的三种排序方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址