C++快排 结构体1级

#include<iostream>
#include<stdlib.h>
using namespace std;

int cmp ( const void *a , const void *b )
{
return *(int *)a – *(int *)b;
}

int main()
{
int i;
int num[10]={5,4,8,7,6,22,11,44,95,12};
qsort(num,10,sizeof(num[0]),cmp);
cout<<”the   new line :”;
for(i=0;i<10;i++)
cout <<num[i]<<” “;
cout <<endl;
return 0;
}

#include<iostream>
#include<string>
#include<algorithm> //调用头文件

using namespace std;

typedef struct
{
string a;
string b;
}node;   //用typedef 定义,这样node代表了所有的上面部分
bool cmp(node x,node y)
{
return x.b<y.b;   //换>就排序顺序改变
}
int main()
{
int i;
node t[10000];   //直接node定义
for( i=0;i<10;i++)
cin>>t[i].a>>t[i].b;
sort(t,t+10,cmp);
cout<<”the new line :
“<<endl;
for(i=0;i<10;i++)
cout<<t[i].a<<” “<<t[i].b<<endl;
return 0;
}

结果:

abc bcd
ads dsaf
dfas dasf
drg iue
dfas opk
fwa grh
dfas gfkp
saf weu
sfaj sajfo
fsalj ejoa
the new line :

abc bcd
dfas dasf
ads dsaf
fsalj ejoa
dfas gfkp
fwa grh
drg iue
dfas opk
sfaj sajfo
saf weu
Press any key to continue

int Comp(const void *a, const void *b)   //快排吧
{
int aa = *(int*)a, bb = *(int*)b;
return aa > bb;
}
void Init()
{
int i;

for (i = 1; i <= N; i++)
scanf(“%d”,&p[i]);
}
bool Work()
{
int i, j, k, l, Front, Last, Mid;

qsort(p + 1,N,sizeof(int),Comp);

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>