大整数排序
大整数排序
阿豪boy 发表于11个月前
大整数排序
  • 发表于 11个月前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

题目描述

https://www.nowcoder.com/practice/b744af632ac4499aa485d7bb048bb0aa?tpId=69&tqId=29671&rp=1&ru=/ta/hust-kaoyan&qru=/ta/hust-kaoyan/question-ranking

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

输入描述:

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


 

输出描述:

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

 

输入例子:

3
11111111111111111111111111111
2222222222222222222222222222222222
33333333

 

输出例子:

33333333
11111111111111111111111111111
2222222222222222222222222222222222

 

#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <string>
char str[1010];
using namespace std;
int cmp(string a, string b) {
	int lena = a.length(), lenb = b.length();
	if (lena != lenb) return lena<lenb;
	return a < b;
}
int main(int argc, char *argv[]) {
	int n;
	vector<string> v;
	string t;
	while (scanf("%d", &n) != EOF) {
		v.clear();
		while (n--) {
			string t;
			cin >> t;
			v.push_back(t);
		}

		sort(v.begin(), v.end(), cmp);
		for (int i = 0; i < v.size(); i++)
			cout << v[i]<<endl;

	}
	return 0;
}

 

共有 人打赏支持
粉丝 5
博文 507
码字总数 386453
×
阿豪boy
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: