資源簡介
用哈希表實現通訊錄:#include<iostream> #include<string> #include<fstream> using namespace std; #define NULL 0 unsigned int key; //用來輸入/輸出文件流類 unsigned int key2; //key和key2分別是用做了電話號碼和姓名的關鍵字
代碼片段和文件信息
#include???
#include?????
#include???
using?namespace?std;
?
#define?NULL?0?
unsigned?int?key;?????????//用來輸入/輸出文件流類
unsigned?int?key2;?????????//key和key2分別是用做了電話號碼和姓名的關鍵字
int?*p;?
struct?node?//新建節點(用戶姓名、地址、電話號碼、指向下一個結點的指針?)
{?
char?name[8]address[20];?
char?num[11];?
node?*?next;?
};?
typedef?node*?pnode;????
typedef?node*?mingzi;?//聲明了名字和電話兩個指針
node?**phone;?
node?**nam;?
node?*a;?
void?hash(char?num[11])?//以電話號碼為關鍵字建立哈希函數
{???????????
int?i?=?3;?
key=(int)num[2];?
while(num[i]!=NULL)?
{?
key+=(int)num[i];?
i++;?
}?
key=key%20;?
}?
void?hash2(char?name[8])??//姓名為關鍵字建立哈希函數
{??????????????????????????
int?i?=?1;?
key2=(int)name[0];?
while(name[i]!=NULL)?
{?
key2+=(int)name[i];?
i++;?
}?
key2=key2%20;?
}?
//強制類型轉換,將用戶名的每一個字母的ASCLL碼值相加并且除以20后的余數
node*?input()??//輸入節點信息?,建立結點,并將結點的next指針指空
{?
node?*temp;?
temp?=?new?node;?
temp->next=NULL;?
cout<<“輸入姓名:“< cin>>temp->name;?
cout<<“輸入地址:“<
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4669??2008-09-15?20:46??哈希表實現通訊錄\張寶軍-0604011009-哈希表實現通訊錄.cpp
?????文件?????172032??2008-09-16?10:46??哈希表實現通訊錄\張寶軍-0604011009-哈希表實現通訊錄.doc
?????文件??????43008??2008-09-16?10:59??哈希表實現通訊錄\張寶軍-0604011009-哈希表實現通訊錄評分表.doc
?????目錄??????????0??2010-05-16?15:51??哈希表實現通訊錄
-----------?---------??----------?-----??----
???????????????219709????????????????????4
- 上一篇:C++客戶信息管理系統課程設計
- 下一篇:以太網幀解析程序C++
評論
共有 條評論