字符串排序
【题目描述】
给出 n 个字符串,将它们按照字典序排序。
【输入格式】
从标准输入读入数据。 第一行包含一个 . 非 . 负整数 n,表示字符串的个数,保证 n≤105。 接下来 n 行,每行一个字符串。字符串的字符 ASCII 码保证在 [32..126] 中。单个 字符串的长度没有保证,可以是 0。字符串的长度总和不超过 106。
【输出格式】
输出到标准输出。 输出一行,把排序后的字符串用制表符\t 连起来输出,表示排序后的结果。
求C++代码,在线等
另外,我用人格担保,回答了正确了肯定是要采纳的
#include <iostream>
#include <string>
using namespace std;
int main()
{
int num_of_string = 0;
cin >> num_of_string;
cin.get();
string * s = new string[num_of_string];
for (int i = 0; i < num_of_string; ++i)
{
getline(cin, s[i]);
}
for (int i = 0; i < num_of_string - 1; ++i)
{
for (int j = 0; j < num_of_string - i - 1; ++j)
{
if (s[j].compare(s[j + 1]) > 0)
{
string temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
}
for (int i = 0; i < num_of_string; ++i)
{
cout << s[i] + (i == num_of_string - 1 ? "" : "\t");
}
delete[] s;
return 0;
}