資源簡介
在日常生活中,個人通信錄是我們不可少的,不管是紙式的個人通信錄 還是我們手機中的個人通信錄,查尋是其最基本的操作,幾乎所有的操作都是在查尋的基礎上進行的,所以,查尋時間的快慢很大程度上決定了整個通信錄的性能。所以,一個有著良好界面、查尋速快的通信錄,是人們所追求的。
本課程設計應用折半查尋法[1] [5]的技術思想進行查尋,從本思想出發,可以有兩種數據組織方式:一是應用鏈表進行組織數據,由于折半查尋法的特殊性,所要進行查尋的數據列必須是有序的數據列,這樣要求對數據列進行排序。出于系統實時查尋的考慮,每次對通信錄進行改變后都得進行重新排序,這樣才能保證數據列是實時有序的。這樣當操作量大時,

代碼片段和文件信息
/**********************************************************************************
*????????????????????????????基于二叉排序樹的個人通信錄???????????????????????????????????
*???????????????????????????????
*???????????????????????????????????
*
*????????????????????????????????????
*
*?文????件:?基于二叉排序樹樹的個人通信錄.C
*?作????者:?soon
*?部????門:?計算機07級04班
*?編寫日期:?2009.9.10
*?模塊版本:?
*?修改記錄:
*?================================================================================
*?版?本|??日??期??|?修改人?|?????????????????
*?================================================================================
*??????|??????????|????????|
*??????|??????????|????????|
*??????|??????????|????????|
*?================================================================================
*
*
*??????????
**********************************************************************************/
#include?
#include?
#include?
#include?
FILE?*input;?????????????????????????????????????/*定認讀取文件指針*/
FILE?*output;????????????????????????????????????/*定義保存文件指針*/
/********************定義個人記錄結構**********************/
typedef?struct?Node
{
char?name[30];???????????????????????????????/*用于保存姓名*/
char?code[30];???????????????????????????????/*用于保存學號*/
int?age;?????????????????????????????????????/*用于保年齡*/
}NODE;
/************************定義二叉樹結構體******************/
typedef?struct?Tree
{
NODE?*student;???????????????????????????????/*個人通信記錄*/
struct?Tree?*lchild;
struct?Tree?*rchild;
}TREE;
static?int?TREESIZE=sizeof(TREE);????????????????/*進行求二叉樹所占的內存空間*/
static?int?NODESIZE=sizeof(NODE);????????????????/*進行求個人記錄結構的內存空間*/
TREE?*Create_Tree(void?);?????????????????????????/*聲明創建空二叉樹的函數*/
void?Insert_Information(TREE?*rootNODE?*node);??????????/*聲明進行插入函數*/
void?Look_Through_Information(TREE?*root);???????????????????????/*聲明瀏覽函數*/
void?Save_Information(TREE?*root);????????????????????????/*聲明保存函數*/
int?Find_Information(TREE?*rootchar?*code);?????????????????/*聲明查尋函數*/
int?Rework_Information(TREE?*rootchar?*code);???????????????/*聲明修改函數*/
void?Menu(void?);?????????????????????????????????/*聲明界面函數*/
TREE?*Find_Father_Node(TREE?*rootchar?*code);???????????/*聲明查尋雙親結點的函數*/
void?Delete_Information(TREE?*rootchar?*code);??????????/*聲明刪除函數*/
void?Free_EMS_memory(TREE?*root);????????????????????????/*聲明釋放內存空間函數*/
/**********************主函數******************************/
void?main(void?)
{
TREE?*root;
NODE?*node;
TREE?*temp;
char?b[30];
int?a;
printf(“*************************基于排序二叉樹的個人通信錄*****************************\n\n\n“);
root?=?Create_Tree();
input?=?fopen(“shuwen.txt““r“);???????????????/*打開文件*/
assert(input?!=?NULL);
if(!feof(input))????????????????????????????/*文件不空進行讀取一條記錄*/
{
node?=?(NODE?*)malloc(NODESIZE);
assert(node?!=?NULL);
fscanf(input“%s?%s?%d“node->codenode->name&node->age);/*進行讀取*/
temp=(TREE?*)malloc(TREESIZE);
assert(temp?!=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????99??2009-09-09?11:52??基于二叉排序樹的個人通信錄\程序源代碼\shuwen.txt
?????文件??????16869??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\基于二叉排序樹的個人通信錄.cpp
?????文件???????3643??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\基于二叉排序樹的個人通信錄.dsp
?????文件??????33792??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\vc60.idb
?????文件??????45056??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\vc60.pdb
?????文件?????226008??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\基于二叉排序樹的個人通信錄.pch
?????文件??????25778??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\基于二叉排序樹的個人通信錄.obj
?????文件?????208028??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\基于二叉排序樹的個人通信錄.ilk
?????文件?????200782??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\基于二叉排序樹的個人通信錄.exe
?????文件?????402432??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug\基于二叉排序樹的個人通信錄.pdb
?????文件??????33792??2009-10-18?09:25??基于二叉排序樹的個人通信錄\程序源代碼\基于二叉排序樹的個人通信錄.ncb
?????文件???????1578??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\基于二叉排序樹的個人通信錄.plg
?????文件??????48640??2009-10-18?09:25??基于二叉排序樹的個人通信錄\程序源代碼\基于二叉排序樹的個人通信錄.opt
?????文件????????577??2009-10-18?09:25??基于二叉排序樹的個人通信錄\程序源代碼\基于二叉排序樹的個人通信錄.dsw
?????文件????1001505??2009-10-18?09:22??基于二叉排序樹的個人通信錄\設計報告\基于二叉排序樹的個人通信錄.pdf
?????目錄??????????0??2009-10-18?09:24??基于二叉排序樹的個人通信錄\程序源代碼\Debug
?????目錄??????????0??2009-10-18?09:16??基于二叉排序樹的個人通信錄\程序源代碼
?????目錄??????????0??2009-10-18?09:16??基于二叉排序樹的個人通信錄\設計報告
?????目錄??????????0??2009-10-18?09:15??基于二叉排序樹的個人通信錄
-----------?---------??----------?-----??----
??????????????2248579????????????????????19
評論
共有 條評論