兩種排序方法(字串 排序 STL)

2021-08-17 19:03:55 字數 1101 閱讀 3058

時間限制:1秒

空間限制:32768k

熱度指數:12801

考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法: 1.根據字串的字典序排序。例如:

"car" < "carriage" < "cats" < "doggies < "koala"

2.根據字串的長度排序。例如:

"car" < "cats" < "koala" < "doggies" < "carriage"

考拉想知道自己的這些字串排列順序是否滿足這兩種排序方法,考拉要忙著吃樹葉,所以需要你來幫忙驗證。

輸入第一行為字串個數n(n ≤ 100)

接下來的n行,每行乙個字串,字串長度均小於100,均由小寫字母組成

如果這些字串是根據字典序排列而不是根據長度排列輸出"lexicographically",

如果根據長度排列而不是字典序排列輸出"lengths",

如果兩種方式都符合輸出"both",否則輸出"none"

示例1

3aaa

bbb

both

【分析】排序+stl

這裡涉及到了對字串的兩種排序方法:按字典序排序、按字串長度排序。為了進行比較,可使用結構體儲存字串內容,並將輸入做兩個"副本",乙個用作按字典序排序,另乙個用作字串長度排序,排序後逐一比對即可。最後注意分4種情況討論。

#include #include #include #include using namespace std;

const int maxn=105;

const int maxl=105;

int n;

struct str

tmp[maxn],s1[maxn],s2[maxn];

using namespace std;

//按字典序排序

bool cmp1(struct str s,struct str t)

//按字串長度排序

bool cmp2(struct str s,struct str t)

{ return (strlen(s.content)

兩種排序方法

題目描述 考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的...

兩種排序方法

考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的這些字串排...

兩種排序方法

題目描述 考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的...