快速排序

今天面试时机试,15分钟,当场没写玩,以前总觉得自我感觉良好,可程序中不允许有逻辑盲区。灰溜溜跑了。是我心仪已久的公司,现在很悔恨,完整代码如下,以后参考:

#define MAX_NUM 8
int pivot_loc;
int Partition(int *array,int low,int high)
{
    int pivot_key = array[low];
    int tmp;

    while(low < high)
    {
        while((low < high) && pivot_key <= array[high])       
            high--;
        array[low] = array[high];
       
       
        while((low < high) && pivot_key >= array[low])           
            low++;
        array[high] = array[low];

    }     
    array[low] = pivot_key;
    return low;
}

void Qsort(int *array,int low,int high)
{
    if(low < high)
    {
        pivot_loc = Partition(array, low, high);
        Qsort(array, low, pivot_loc - 1);
        Qsort(array,pivot_loc + 1,high);
    }
}

void main()
{
    int i,j = 0;
    int array[MAX_NUM];
   
    while(1)
    {
        scanf("%d",&i);   
        array[j] = i;
        j++;
        if(j > MAX_NUM - 1)
            break;
    }
    Qsort(array, 0, MAX_NUM - 1);
    for(i = 0;i <= MAX_NUM - 1;i++)
        printf("%d->",array[i]);
    printf("/n");
    getch();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值