想优化一下代码,请dalao们给些意见
查看原帖
想优化一下代码,请dalao们给些意见
908336
AShui01楼主2024/8/20 17:26
#include<bits/stdc++.h>
using namespace std;

int n,t;
string a[21];
bool cmp(string x,string y){
	if(x.size()>y.size()){
		for(int i=0;i<y.size();i++){
			if(x[i]>y[i]) return 1;
			else if(x[i]<y[i]) return 0;
			else continue;
		} 
		for(int i=y.size();i<x.size();i++){
			if(x[i]>y[i-x.size()]) return 1;
			else if(x[i]>y[i-x.size()]) return 0;
			else continue;
		}
		return 1;
	}else if(x.size()<y.size()){
		for(int i=0;i<x.size();i++){
			if(x[i]>y[i]) return 1;
			else if(x[i]<y[i]) return 0;
			else continue;
		} 
		for(int i=x.size();i<y.size();i++){
			if(y[i]<x[i-x.size()]) return 1;
			else if(y[i]>x[i-x.size()]) return 0;
			else continue;
		}
		return 1;
	}else return x>y;
}
int toi(string x){
	int y=0;
	for(int i=0;i<x.size();i++){
		y=y*10+int(x[i]);
	}
}
string str(int x){
	string y="";
	int t=0;
	while(x>0){
		t=x%10;
		x=x/10;
		y=char(t+48)+y;
	}
	return y;
}
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>t;
		a[i]=str(t);
		//cout<<a[i]<<endl;
	}
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++){
		cout<<a[i];
	}
	return 0;
}
2024/8/20 17:26
加载中...