分治算法 快速排序

来源:互联网 发布:js替换标签 编辑:程序博客网 时间:2024/06/05 17:27
快速排序
引用了点击打开链接的教程,非常容易理解


#include <iostream>using namespace std;void quicksort(int a[],int left,int right){    int i,j,t,temp;    if(left>right){        return ;    }    temp=a[left];    i=left;    j=right;    while(i!=j){        while(a[j]>=temp&&i<j){            j--;        }        while(a[i]<=temp&&i<j){            i++;        }        if(i<j){            t=a[i];            a[i]=a[j];            a[j]=t;        }     }     t=a[left];     a[left]=a[i];     a[i]=t;     quicksort(a,left,i-1);     quicksort(a,i+1,right);}int main(){   int a[9]={1,2,3,4,5,9,8,7,6};    quicksort(a,1,9);    for(int i=0;i<9;i++){        cout<<a[i]<<endl;    }    return 0;}


原创粉丝点击