-
大小: 244KB文件類型: .doc金幣: 1下載: 0 次發(fā)布日期: 2021-05-10
- 語言: 其他
- 標(biāo)簽:
資源簡介
1) 問題描述
人們在日常生活中經(jīng)常需要查找某個人或某個單位的電話號碼,本實(shí)驗(yàn)將實(shí)現(xiàn)一個簡單的個人電話號碼查詢系統(tǒng),根據(jù)用戶輸入的信息(例如姓名等)進(jìn)行快速查詢。
2) 基本要求
(1) 在外存上,用文件保存電話號碼信息;
(2) 在內(nèi)存中,設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)存儲電話號碼信息;
(3) 提供查詢功能:根據(jù)姓名實(shí)現(xiàn)快速查詢;
(4) 提供其他維護(hù)功能:例如插入、刪除、修改等;
(5) 按電話號碼進(jìn)行排序。
3) 設(shè)計(jì)思想
由于需要管理的電話號碼信息較多,而且要在程序運(yùn)行結(jié)束后仍然保存電話號碼信息,所以電話號碼信息采用文件的形式存放到外存中。在系統(tǒng)運(yùn)行時(shí),需要將電話號碼信息從文件調(diào)入內(nèi)存來進(jìn)行查找等操作,為了接收文件中的內(nèi)容,要有一個數(shù)據(jù)結(jié)構(gòu)與之對應(yīng),可以設(shè)計(jì)如下結(jié)構(gòu)類型的數(shù)組來接收數(shù)據(jù):
const int max=10;
struct TeleNumber
{
string name; //姓名
string phoneNumber; //固定電話號碼
string mobileNumber; //移動電話號碼
string email; //電子郵箱
} Tele[max];
為了實(shí)現(xiàn)對電話號碼的快速查詢,可以將上述結(jié)構(gòu)數(shù)組排序,以便應(yīng)用折半查找,但是,在數(shù)組中實(shí)現(xiàn)插入和刪除操作的代價(jià)較高。如果記錄需頻繁進(jìn)行插入或刪除操作,可以考慮采用二叉排序樹組織電話號碼信息,則查找和維護(hù)都能獲得較高的時(shí)間性能。更復(fù)雜地,需要考慮該二叉排序樹是否平衡,如何使之達(dá)到平衡。
代碼片段和文件信息
評論
共有 條評論