您好,登錄后才能下訂單哦!
題目描述:
考拉有n個字符串字符串,任意兩個字符串長度都是不同的。考拉最近學習到有兩種字符串的排序方法: 1.根據字符串的字典序排序。例如:
"car" < "carriage" < "cats" <
"doggies < "koala"
2.根據字符串的長度排序。例如:
"car" < "cats" < "koala" <
"doggies" < "carriage"
考拉想知道自己的這些字符串排列順序是否滿足這兩種排序方法,考拉要忙著吃樹葉,所以需要你來幫忙驗證。
#include<iostream>
using namespace std;
#include<string>
#include<string.h>
#include<vector>
int main()
{
int i = 0;
int n = 0;
string s;
vector<string> v;
//與要求不同的話就把值賦為0
int flag1 = 1;//字典排序
int flag2 = 1;//長度排序
while (cin >> n){
v.reserve(2*n);
for (i = 0; i<n; i++){
cin >> s;
v.push_back(s);
}
for (i = 0; i<n-1; i++){
//這里利用vector中的compare接口,如果返回值大于0說明前面的大
if (v[i].compare(v[i + 1]) >0){
flag1 = 0;
break;
}
}
for (i = 0; i < n - 1; ++i){
if (v[i].size()>v[i + 1].size()){
flag2 = 0;
break;
}
}
if (flag1 == 1 && flag2 == 0){
cout << "lexicographically" << endl;
}
else if (flag1 == 1 && flag2 == 1){
cout << "both" << endl;
}
else if (flag1 == 0 && flag2 == 1){
cout << "lengths" << endl;
}
else if (flag1 == 0 && flag2 == 0)
{
cout << "none" << endl;
}
s.clear();
}
return 0;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。