您的位置:首页 > 其它

整数型数组元素拼接问题

2015-11-12 13:00 369 查看
找给定的整数型数组中将数拼接成的正整数中最小的,如给定 123 321 ,则形成的最小的整数位123321

利用STL中的算法快速实现,代码如下:

#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
using namespace std;

bool compare(const string& str1, const string &str2)
{
string s1=str1+str2;
string s2=str2+str1;
return s1<s2;
}
void ComArrayMin(int *pArray, int num)
{
int i;
string *pStrArray=new string[num];

for(i=0; i<num; i++)
{
stringstream stream;
stream<<pArray[i];
stream>>pStrArray[i];
}
sort(pStrArray, pStrArray+num, compare);
for(i=0; i<num; i++)
cout<<pStrArray[i];
cout<<endl;
delete[] pStrArray;
}
int main()
{
int Num;
cin>>Num;
int *pArray=new int[Num];
for(int i=0; i<Num; i++)
cin>>pArray[i];
ComArrayMin(pArray, Num);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: