雜湊表建立字典,修改,刪除 儲存字典

2021-08-20 22:13:42 字數 947 閱讀 5456

雜湊表是記錄的儲存位置和關鍵字之間建立的一種對映關係,這個對映關係就是hash函式.

1:構建hash函式的方法:

在構建hash函式的時候,會存在關鍵字不一樣,但是記錄會是一樣的情況.key1≠key2,但是f(key1)=f(key2),這裡的f就是雜湊函式.這種現象就是衝突.

解決這種衝突有如下辦法:

下面建立乙個用hash查詢,刪除,增加的字典程式.便於在實際使用中對詞典進行更新.

建立hash函式的方法是除留餘數法

解決衝突的方法是線性探測法.

如下是簡單的cpp**.

#include #include #include #include //getline 包含在 sstream 中,要include!

using namespace std;

// 該工程是建立詞典,查詢詞典

#define len 8 //中文字長度,中文字拼音長度 (中:zh ong1,聲韻母結構)

#define read_num 4 // 每個中文漢字最多有4種讀音

#define sum_len len*read_num

#define success 1

#define failed -1

#define table_len 1024 //雜湊表長度

struct word;

class myhashtablewrdhashtable;

myhashtable::myhashtable()

myhashtable::~myhashtable()

void myhashtable::init(void)

/** 從當前的詞典中載入進來

*/bool myhashtable::loaddict(const char* dictfn)

if (x=="1")

{ cout<<"請輸入新字:"<

建立 修改 刪除表

1 建立表 1.1 完整約束條件表 約束條件 說明primary key 表示該屬性為表的主鍵,可以唯一的表示對應的元組 foreign key 標示該屬性為表的外來鍵,是與之聯絡的某錶的主鍵 not null 標示該屬性不能為空 unique 標示該屬性的值是唯一的 auto increment ...

SQL建立 修改 刪除表

建立表 create table 表名 列名 資料型別 屬性 列名 資料型別 屬性 增加表的列 alter table 表名 add 欄位名 資料型別 屬性 修改表的列 alter table 表名 modify column 欄位名 資料型別 屬性 刪除表的列 alter table 表名 dro...

Oracle(建立 修改 刪除表)

根據rowid獲取某一元組 2 表的建立 1 方式一 create table 2 方式二 當as後面的語句能夠查詢到資料的時候,不僅建立了表的結構而且查詢到的資料也會自動新增到新建立的表內部 查詢表中是否有資料 當as後面的語句不能查詢到資料的時候,只建立表的結構,不會向表中新增資料 3 修改表 ...