现在的位置: 首页 > 综合 > 正文

1426 高效排序

2012年04月15日 ⁄ 综合 ⁄ 共 604字 ⁄ 字号 评论关闭

 描述

比普通排序快一些的排序。

输入

第一行包含一个整数T,表示有T组数据。对于每组数据:第一行包含一个数字N(<100,000),表示该组数据由N个元素;第二行包含N个数,就是这N个元素的值( <100,000 )。

输出

对于每组数据输出一行,包含排序好后的N个元素,要求从小到大排序,相邻2个元素间有个空格,末尾无空格有个回车。

 

 

解题思路:既然要求高效,那么就可以使用C++内部的排序算法,编写一个类,用vector加以实现。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

class compare
{
public:
	bool operator()(const int &x,const int &y)
	{
		return x<y;
	};
};




int main()
{
	vector<int> v;
	compare cmp;
	int n;
	int temp;
	int i;
	int number,te;
	cin>>number;
	for(te=1;te<=number;te++)
	{
		
		
		cin>>n;
		
		for(int i=0;i<n;i++)
		{   	
			cin>>temp;
			v.push_back(temp);
		}
		
		
		
		sort(v.begin(),v.end(),cmp);
		
		
		for(i=0;i<n;i++)
		cout<<v[i]<<' ';

		cout<<endl;
		v.clear();
	}
		  return 0;
		  
		  
		  
}

 

抱歉!评论已关闭.