快排

好难受啊 

发烧了

一个快排也写了那么久

zz

还没有加上随机排序的部分

怎么这么慢啊

我也很绝望啊


熟能生巧?

好在是xcode弄好了

sublime太不靠谱了


//

//  main.cpp

//  leecode

//

//  Created by 陆炫宇 on 17/3/8.

//  Copyright © 2017 陆炫宇. All rights reserved.

//


/*quicksort.cpp

 

 */

#include<iostream>

#include<string>

//#include<math>

using namespace std;





void exchange(int *a,int p,int q){

    int temp=a[p];

    a[p]=a[q];

    a[q]=temp;

}


//sorting

void old_partition(int *a,int begin,int ed){

    cout<<"begin:ed"<<begin<<":"<<ed<<endl;

    int p=begin;

    int q=ed;

    if(p>=q)

        return;

    bool flag=true;

    while(p<q){

        

        for(int i=0;i<5;i++)

            cout<<a[i];

        cout<<endl;

        if(flag){

        if(a[p]>a[q]){

            exchange(a,p,q);

            flag=!flag;

            

            p++;

            

        }

        else{

            q--;

        }

        cout<<"p: q:"<<p<<":"<<q<<endl;

        }

        else{

            if(a[p]>a[q]){

                exchange(a,p,q);

                flag=!flag;

                

                q--;

                

            }

            else{

                p++;

            }


        }

        

    }

    old_partition(a,begin,p-1);

    old_partition(a,p+1,ed);

    

}


int main(){

    int a[]={3,4,5,1,2};

    

    old_partition(a,0,4);

    for(int i=0;i<5;i++)

        cout<<a[i];

    cout<<endl;

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值