首页 > ACM题库 > 九度OJ > 九度-1190-大整数排序[解题代码]
2013
12-13

九度-1190-大整数排序[解题代码]

题目来源:2006年华中科技大学计算机研究生机试真题

题目描述:

对N个长度最长可达到1000的数进行排序。

输入:

输入第一行为一个整数N,(1<=N<=100)。
接下来的N行每行有一个数,数的长度范围为1<=len<=1000。
每个数都是一个正数,并且保证不包含前缀零。

输出:

可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。

样例输入:
3
11111111111111111111111111111
2222222222222222222222222222222222
33333333
样例输出:
33333333
11111111111111111111111111111
2222222222222222222222222222222222

cpp 代码如下:
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

bool pare(string a,string b){
	if(a.size() > b.size())
		return false;
	else if(a.size() == b.size()){
		if(a.compare(b) < 0)
			return true;
		else
			return false;
	}
	else
		return true;
}
int main(){
	string *str ;
	int n;
	while (cin>>n)
	{
		str = new string[n];
		for(int i=0; i<n; i++){
			cin>>str[i];
		}
		sort(str,str+n,pare);
		for(int i=0; i<n; i++){
			cout<<str[i]<<endl;
		}

	}
	return 0;
}
/**************************************************************
	Problem: 1190
	User: coder
	Language: C++
	Result: Accepted
	Time:60 ms
	Memory:1648 kb
****************************************************************/


  1. 站长,你好!
    你创办的的网站非常好,为我们学习算法练习编程提供了一个很好的平台,我想给你提个小建议,就是要能把每道题目的难度标出来就好了,这样我们学习起来会有一个循序渐进的过程!

  2. 站长好。我是一个准备创业的互联网小白,我们打算做一个有关国*际*游*学的平台。手上也有了一些境外资源。现阶段的团队现在没有cto.原意出让一些管理股寻找一个靠谱的技术专家做合伙人, 不知道是不是能得到您的帮助。发个帖子或者其他方式。期待您的回应。可以加我微信tianxielemon聊聊。

  3. 思路二可以用一个长度为k的队列来实现,入队后判断下队尾元素的next指针是否为空,若为空,则出队指针即为所求。

  4. 有一点问题。。后面动态规划的程序中
    int dp[n+1][W+1];
    会报错 提示表达式必须含有常量值。该怎么修改呢。。

  5. 网站做得很好看,内容也多,全。前段时间在博客园里看到有人说:网页的好坏看字体。觉得微软雅黑的字体很好看,然后现在这个网站也用的这个字体!nice!