快速排序quick_sort

来源:互联网 发布:谷歌版coc数据 编辑:程序博客网 时间:2024/06/05 07:59
#include <stdio.h>#include <stdlib.h>#define NUM_OF_ARRAY100void quick_sort(int *array, int left, int right){    int old_left = left;    int old_right = right;    int standard_data = array[left];    while(left < right)    {        while((array[right] >= standard_data) && (left < right))right--;        if(left != right)        {            array[left] = array[right];            left++;        }        while((array[left] <= standard_data) && (left < right))left++;        if(left != right)        {            array[right] = array[left];            right--;        }    }    array[left] = standard_data;    if(old_left < left)        quick_sort(array, old_left, left-1);    if(old_right > left)        quick_sort(array, left+1, old_right);}int main(int argc, char *argv[]){    int arr[NUM_OF_ARRAY] = {0};    int i=0;    srand(getpid());    for(i=0; i<NUM_OF_ARRAY; i++)    {        arr[i] = rand();        printf("%d\n", arr[i]);    }    quick_sort(arr, 0, NUM_OF_ARRAY-1);    printf("\n");    for(i=0; i<NUM_OF_ARRAY; i++)    {        printf("%d\n", arr[i]);    }    return 0;}

原创粉丝点击