大二演算法期末複習 排序 英文姓名排序

2021-09-02 21:46:35 字數 815 閱讀 7935

time limit: 1000/1000ms (c++/others) memory limit: 65536/65536kb (c++/others)

problem description

在漢語裡,對漢語姓名可以按拼音排序,也可以按筆畫順序排序。在英語裡,對英語姓名主要按字母順序排序。本題要求給定的一組英文姓名按長短順序排序。

input

輸入檔案中包含多個測試資料。每個測試資料的第1行是乙個正整數n(0 < n < 100),表示該測試資料中英文姓名的數目;接下來有n行,每行為乙個英文姓名,姓名中允許出現的字元有大小寫英文本母、空格和點號(.),每個英文姓名長度至少為2、但不超過50.n=0表示輸入結束。

output

對輸入檔案中的每個測試資料,輸出排序後的姓名。排序方法為:先按姓名長度從長到短的順序排序,對長度相同的姓名,則按字母順序排序。每2個測試資料的輸出之間輸出乙個空行。

用qsort先長度後字母順序進行排序,必須考慮如果str.length()<2 時要捨棄資料,因為這個坑wa了好多發

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

struct zzj};

int cmp(const void *a,const void *b)

zzj name[105];

int main()

}qsort(name,n,sizeof(name[0]),cmp);

for(i = 0;i cout

}

大二演算法期末複習 排序 體重排序

time limit 1000 1000ms c others memory limit 65536 65536kb c others statistic problem description 作為一台很受歡迎的脫口秀節目的主持人,你正在做一期關於節食的節目。你的嘉賓是kevorkian博士。他最...

演算法期末複習(二)

回溯法是一種試探的方法,從一條路走,能進則進,不能則退。例如 在數字1 2 3 9 順序不變 之間插入 或什麼都不插入,使得結果為100。include using namespace std define n 8 8個符號 int a int num 0 計算滿足條件的式子的個數 char op ...

大二汪的期末複習 演算法與資料結構(樹和二叉樹)

5.1.6二叉樹的鏈式儲存結構 5.2 樹和森林 5.3 哈夫曼樹 易錯點 樹是n n 0 個結點的有限值,當n 0時稱為空樹。非空樹 1 有且僅有乙個稱之為根的結點 2 除根結點以外的其餘結點可分為m個互不相交的有限集,其中每個集合本身又是一棵樹,稱為根的子樹。樹的結構定義是乙個遞迴的定義。二叉樹...