首先根据题目要求便发现用数据太麻烦,故采用vector<>容器。
vector在声明时有以下三种形式:
using namespace std;
using std::vector;
std::vector<int> vec;
其还有很多可以直接调用的函数,如:
(1)第一部分
(2)第二部分
(3)第三部分
(4)第四部分
(5)第五部分
vec.reserve()//设定capacity的值,如果小于原本的capacity的值则保持为原本的capacity的值。
一些创建vector的方式
vector<type> vec
vector<type> vec(vec1)
vector<type> vec=vec1
vector<type> vec(n)
vector<type> vec(n,elem)
vector<type> vec(begin,end)
vector<type> vec{a,b,c,……}
vector<type> vec={a,b,c,……}
这个程序的代码:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
int count;
while(cin>>count){
vector<string> inputStr;
string curStr;
for(int i=0;i<count;i++){
cin>>curStr;
inputStr.push_back(curStr);
}
for(int i=0;i<inputStr.size()-1;i++) {
for(int j;j<inputStr.size()-1-i;j++){
if((inputStr[j]+inputStr[j+1])<(inputStr[j+1]+inputStr[j])){
swap(inputStr[j],inputStr[j+1]);
}
}
}
for(string str:inputStr){
cout<<str;
}
cout<<endl;
}
return 0;
}
在其中运用了A+B>B+A则A>B这个思想。