C 泛型程式設計(通訊錄編排)

2021-08-28 14:24:17 字數 1213 閱讀 5802

acm集訓隊最近人氣很旺,為了促進隊員之間的交流,我們準備製作乙個通訊錄,每個隊員的資訊包括:

tojid ** 籍貫 出生年-月-日

各個欄位均用英文本元和數字表示。使用空格分隔各個字段,每個欄位不包含空格,如:crq的資訊為:

crq 660000 huangyan 1979-1-1

等到所有隊員的資料收集完畢,我們想要編排通訊錄以便於隊員的查詢,編排方式如下:

首先根據地名作為第一關鍵字進行字典序排序,由於每年老鄉之間都要為隊友慶祝生日,因此將生日作為第二關鍵字進行遞增排序。也許你在老鄉之間能夠找到乙個非常有緣的隊友即你們的生日是同一天,那麼就根據tojid作為第三關鍵字進行字典序排序,由於tojid是唯一的,因此總能排序。我們確信今後將有大量的新隊友加入,因此為了能一勞永逸,請你幫我們程式設計完成這個任務。

輸入資料有n+1行,第一行為集訓隊隊員的總數n (n<=100),下面的n行為每個隊員的資訊,格式見樣例。

輸出編排後的結果。

5

crq 660000 huangyan 1979-1-1

carter 660000 huangyan 1979-1-1

tzc 668888 linhai 1990-1-11

wk 666666 ningbo 1986-10-1

metoo 665567 jiaojiang 1969-1-13

carter 660000 huangyan 1979-1-1

crq 660000 huangyan 1979-1-1

metoo 665567 jiaojiang 1969-1-13

tzc 668888 linhai 1990-1-11

wk 666666 ningbo 1986-10-1

#include#include#include#include#include#include#include#includeusing namespace std;

struct node

};bool operator<(node a, node b)

else

} else

}setset;

int main()

for (set::iterator it = set.begin(); it != set.end(); it++)

set.clear();

} return 0;

}

通訊錄(C語言)

include include include define m 1000 結構體變數的大小 void insert 增加聯絡人資訊 int delet 刪除聯絡人資訊 void find 查詢指定聯絡人資訊 void change 修改聯絡人資訊 void show 顯示所有聯絡人資訊 void ...

C語言通訊錄

include include include typedef struct atnn 定義結構體 attn void menu 選單 void print attn attn at,int sz 顯示所有聯絡人資訊 void add attn attn at,int sz 新增聯絡人資訊 if s...

C 通訊錄實現

昨晚實現了用c 編寫通訊錄,深刻的感受到了封裝的便利性啊,vector真是太方便了!如下 info.h ifndef person h define person h include include include using namespace std class info endif info....