您的位置:首页 > 其它

算法导论-7-2

2016-03-05 23:35 197 查看
#include<iostream>
using namespace std;
int par(int *p,int,int);
void quickSort(int *p,int,int);

int main()
{
int a[]={2,5,3,4,7,2,0,22,11,-44,13,12,55,23,243,-12},*p=&a[0];
int len=sizeof(a)/sizeof(int);
int i;
for(i=0;i<len;i++)
cout<<*(p+i)<<" ";
cout<<endl;
cout<<par(p,0,3)<<endl;
quickSort(p,0,len-1);
for(i=0;i<len;i++)
cout<<*(p+i)<<" ";
cout<<endl;
}

void quickSort(int *p,int b,int c)
{
int q;
if(b<c)
{
q=par(p,b,c);
quickSort(p,b,q-1);
quickSort(p,q+1,c);
}
}

int par(int *p,int b,int c)
{
int i=b-1, j = c, x = *(p+c),temp;
for(j=b;j<c;++j)
{
if(*(p+j)<=x)
{
i=i+1;
temp=*(p+j);
*(p+j)= *(p+i);
*(p+i)=temp;
}
}
temp=*(p+c);
*(p+c)= *(p+i+1);
*(p+i+1)=temp;
return i+1;
}


“`变成模板的话int换成auto
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: