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