文章
79
粉丝
221
获赞
46
访问
198.3k
#include <iostream>
#include <string>
using namespace std;
int Comp(string a1, string a2) {
if (a1.size() != a2.size())
return a1.size() - a2.size();
for (int i = 0; i < a1.size(); i++)
if (a1[i] != a2[i])
return a1[i] - a2[i];
return 0;
}
void BubbleSort(string* a, int n) {
for (int i = 0, flag = 0; i < n; i++,flag=0) {
for (int j = 1; j < n - i; j++)
if (Comp(a[j], a[j - 1]) < 0) {
swap(a[j], a[j - 1]);
flag = 1;
}
if (flag == 0)
break;
}
}
int main() {
int n;
while(cin >> n){
cin.ignore();
string* a = new string[n];
for (int i = 0; i < n; i++)
getline(cin, a[i]);
BubbleSort(a, n);
for (int i = 0; i < n; i++)
cout << a[i] << endl;
}
return 0;
}
整体思路:
整体思路很简单,使用字符串数组存储n个数,使用冒泡排序对n个数进行排序,关键为若何对比以字符串存储的两个整数。
对比以字符串存储的两个整数:
登录后发布评论
暂无评论,来抢沙发