求解兩種排序方法問題

2021-10-08 02:20:15 字數 1447 閱讀 8301

考拉有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
分析:

主資料(即n個字串)採用vector向量vec儲存,設計islexicalorder()函式用於判斷vec是否按照字典序排序,islengthorder()函式用於判斷vec是否按照字串大戲長度大小排序。呼叫這兩個函式,最後根據函式呼叫返回的結果輸出相應的結果字串。對應完整的程式如下:

#include

#include

#include

using

namespace std;

vectorvec;

int n;

bool

islexicalorder()

return

true;}

bool

islengthorder()

return

true;}

intmain()

flag1=

islexicalorder()

; flag2=

islengthorder()

;if(flag1&&flag2)

cout<<

"both"

;else

if(flag1&&

!flag2)

cout<<

"islexicalorder"

;elseif(

!flag1&&flag2)

cout<<

"islengthorder"

;elseif(

!flag1&&

!flag2)

cout<<

"none"

;return0;

}

兩種排序方法

題目描述 考拉有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 考拉想知道自己的...