qsort各种类型代码(例子)

// File Name: b.cpp
// Author: darkdream
// Created Time: 2013年02月27日 星期三 21:50:44

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;
int cmp(const void *a,const void *b)
{
	return *(char*)a-*(int*)b;
}

int main(){

	int t;
	int i;
	char a[1000];
	scanf("%d",&t);
	getchar();
	for(i=0;i<t;i++)
		scanf("%c",&a[i]);
	qsort(a,t,sizeof(a[0]),cmp);
	for(i=0;i<t;i++)
		printf("%c",a[i]);
return 0;
}





// File Name: a.cpp// Author: darkdream// Created Time: 2013年02月27日 星期三 19:17:31#include<vector>#include<list>#include<map>#include<set>#include<deque>#include<stack>#include<bitset>#include<algorithm>#include<functional>#include<numeric>#include<utility>#include<sstream>#include<iostream>#include<iomanip>#include<cstdio>#include<cmath>#include<cstdlib>#include<cstring>#include<ctime>using namespace std;int cmp(const void *a,const void *b){return *(int *)a-*(int *)b;}int main(){int i,j,t;int a[1000];scanf("%d",&t);for(i=0;i<t;i++)scanf("%d",&a[i]);qsort(a,t,sizeof(a[0]),cmp);for(i=0;i<t;i++)printf("%d",a[i]);return 0;}



// File Name: c.cpp
// Author: darkdream
// Created Time: 2013年02月27日 星期三 22:31:53

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;
int cmp(const void *a,const void *b)
{
	return *(double*)a>*(double*)b?1:-1;
}
int main(){
int t;
int i;
double a[1000];
scanf("%d",&t);
for(i=0;i<t;i++)
	scanf("%lf",&a[i]);
qsort(a,t,sizeof(a[0]),cmp);
for(i=0;i<t;i++)
	printf("%lf",a[i]);
return 0;
}



// File Name: d.cpp
// Author: darkdream
// Created Time: 2013年02月27日 星期三 22:48:27

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;
typedef struct{
	int x;
	int y;
	int h;
}dot;
int cmp(const void *a, const void *b)
{
		return (*(struct *)a)->h - (*(struct *)b)->h;
}
int main()
{
	dot line[9];
		int i;
		for(i = 0; i< 9; i++)
			scanf("%d", &line[i].h);
		printf("\n");
		qsort(line, 9, sizeof(dot), cmp);
		for(i = 0; i< 9; i++)
			printf("%d ", line[i].h);
		printf("\n");
		return 0;
}


// File Name: e.cpp
// Author: rudolf
// Created Time: 2013年02月27日 星期三 23:40:58

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std; 

struct POINT{  
		      
	int  x;  
					      
    int  y;  
								      
}; 
POINT line[9];
int cmp(const void *a,const void *b)  
{  
		POINT * p1 = (POINT*)a;
		POINT * p2 = (POINT*)b;  
	   if(p1->x != p2->x)
		   return p1->x-p2->x;  
		return p1->y-p2->y;  
}  

int main(){
int i;
for(i=0;i<9;i++)
	scanf("%d%d",&line[i].x,&line[i].y);
qsort(line,9,sizeof(line[0]),cmp);
for(i=0;i<9;i++)
	printf("%d%d",line[i].x,line[i].y);
return 0;
}





// File Name: e2.cpp
// Author: rudolf
// Created Time: 2013年02月28日 星期四 11:27:03

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;
typedef struct
{
    int x;
    int y;
}dot;
int cmp(const void *a,const void *b)
{
    return (*(struct*)a).x-(*(struct*)b).x;
}
int main(){
int i;
dot lone[9];
    for(i=0;i<9;i++)
        scanf("%d",&lone[i].x);
    qsort(lone,9,sizeof(dot),cmp);
    for(i=0;i<9;i++)
        printf("%d",lone[i].x);
    
    return 0;
}






// File Name: e3.cpp
// Author: rudolf
// Created Time: 2013年02月28日 星期四 11:48:17

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;
struct LO
{
    int x;
    int y;
};
LO line[9];
int cmp(const void *a,const void *b)
{
    LO *p1=(LO*)a;
    LO *p2=(LO*)b;
    if(p1->x!=p2->x)
        return p1->x-p2->x;
    return p1->y-p2->y;
}
int main(){
    int i;
    for(i=0;i<9;i++)
        scanf("%d%d",&line[i].x,&line[i].y);
    qsort(line,9,sizeof(line[0]),cmp);
    for(i=0;i<9;i++)
        printf("%d %d\n",line[i].x,line[i].y);
return 0;
}






// File Name: qsort2.cpp
// Author: rudolf
// Created Time: 2013年03月03日 星期日 20:37:21

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;
struct LO
{
    int x;
    int y;
};
LO lone[9];
int cmp(const void *a,const void *b)
{
    LO *q1=(LO *)a;
    LO *q2=(LO *)b;
    if(q1->x!=q2->x)
        return q1->x-q2->x;
    return q1->y-q2->y;
}
int main(){
int i;
for(i=0;i<9;i++)
    scanf("%d%d",&lone[i].x,&lone[i].y);
qsort(lone,9,sizeof(lone[0]),cmp);
for(i=0;i<9;i++)
    printf("%d%d \n",lone[i].x,lone[i].y);

return 0;
}




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值