有乙個公司,當有新的員工報道時,要求該員工的資訊加入(id,性別,年齡,住址),當輸入該員工的id 時,要求查詢該員工資訊,
要求不使用資料庫,盡量節損記憶體,資料越快越好
package main
import (
"fmt"
)type emplink struct
func (this *emplink) findemp(id int)
var temp = this.head
forif temp == nil
temp = temp.next }}
// 插入到鍊錶, id 從小到大
func (this *emplink) insert(emp *emp)
forif cur!=nil && cur.id>=emp.id
pre = cur
cur = cur.next
} pre.next = emp
emp.next = cur
}func (this *emplink) show(id int)
var temp = this.head
forelse }}
// 刪除值
func (this *emplink) deleteemp(id int)
if this.head.id == id
var temp = this.head
var cur *emp= nil
var *** = 1
forif temp!=nil && temp.id == id
cur = temp
temp = temp.next
} if ***==1else
}type emp struct
type hashtable struct
func (this *hashtable) insert(emp *emp)
func (this *hashtable) show()
}// 刪除某乙個值
func (this *hashtable) deleteemp(id int)
//查詢某值
func (this *hashtable) findemp(id int)
// 哪一條鍊錶上
func (this *hashtable) hashfun(id int) int
func main()
var emp = emp
hashtable.insert(&emp)
emp1 := emp
hashtable.insert(&emp1)
emp2 := emp
hashtable.insert(&emp2)
hashtable.show()
hashtable.findemp(14)
fmt.println("--------------")
hashtable.deleteemp(7)
hashtable.show()
}
雜湊表 雜湊表
一 定義 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。雜湊表的做法其實很簡單,就是把key通過乙個固定的演算法函式...
雜湊表(雜湊表)
雜湊表是最基礎的資料結構之一,利用鍵值對儲存並檢索資料的一種非線性結構。在其它各種結構線性表 樹等資料結構中,記錄在結構中的位置是隨機的,和記錄關鍵字之間不存在確定的關係,因此,在結構中查詢記錄時需進行一系列和關鍵字的 比較 的基礎上。在順序查詢時,比較的結果為 與 兩種可能 在折半查詢 二叉排序樹...
雜湊表(雜湊表)
原文 雜湊表是種資料結構,它可以提供快速的插入操作和查詢操作。第一次接觸雜湊表時,它的優點多得讓人難以置信。不論雜湊表中有多少資料,插入和刪除 有時包括側除 只需要接近常量的時間即0 1 的時間級。實際上,這只需要幾條機器指令。對雜湊表的使用者一一人來說,這是一瞬間的事。雜湊表運算得非常快,在電腦程...