集合是具有某種相似特性的事物的全體。它的重要特點是其中的資料元素無序且不重複,這也就是判斷是否使用該容器的依據。
利用我之前的樹的定義和實現中的bst.go函式來呼叫而實現的
package arr
type set struct
/** * 利用二分搜尋樹來實現結合的curd
*///新增元素到集合中
func (set *set) addset(e int)
//遍歷集合
func (set *set) forset()
//判斷指定元素是否存在於集合內
func (set *set) emptyset(e int) bool
package arr
import (
"container/list"
"fmt"
)type set_list struct{}
var sl = list.new()
/** * 在集合中查詢是否包含指定元素
*/func (set *set_list) find(e int) bool
} return false
}/**
* 迴圈遍歷集合
*/func (set *set_list) foreach()
}/**
* 在集合中新增指定元素
//迴圈輸入slice
for _, v := range words
}} //迴圈完乙個字元以後,插入新的slice
"出來:",dan)
map用於儲存具有對映關係的資料,因此map集合裡儲存著兩組值,一組值用於儲存map裡的key,另外一組值用於儲存map裡的value,key和value都可以是任何引用型別的資料。map的key不允許重複,即同乙個map物件的任何兩個key通過equals方法比較總是返回false。
利用二分搜尋樹或鍊錶都可以簡單的去實現對映:
//用鍊錶來實現對映
type map_list struct
v inte***ce{}
next *map_list
}var list_map *map_list = nil
/** * get獲取對映的值
* */
func (list_map *map_list) get(k inte***ce{}) *map_list
list_map = list_map.next
} return nil
}/**
* add新增(修改)對映
* */
func (list_map *map_list) add(k, v inte***ce{})
} else
}/**
* remove刪除
*/func (list_map *map_list) remove(k inte***ce{}) else
}}
package arr
//利用二分搜尋樹實現map
type map_bst struct
left *map_bst
right *map_bst
}var mapbst *map_bst = nil
/** *add新增操作
*/func (mapbst *map_bst) add(k int, v inte***ce{})
/** * get查詢
*/func (mapbst *map_bst) get(k int) *map_bst
//get方法
func map_get(tree *map_bst, k int) *map_bst
if k < tree.k else if k > tree.k
return tree
}//add 遞迴新增
func map_add(tree *map_bst, k int, v inte***ce{}) *map_bst
return tree
} //遞迴轉化更小問題
其中利用集合和對映的基本邏輯一樣,只要在儲存資料的時候替換即可
package main
import "fmt"
func intersection(nums1 int, nums2 int) (arr int)
}} }
for k, _ := range array
return arr
}func main()
b:=int
fmt.println(intersection(a,b))
}
C STL Map對映和Set集合
map 對映 可以理解為下標可以不為int型別的高階陣列 include mapa 是字串到數字的對映 應用 給英文本串,求星期幾 include include include using namespace std mapday int main set 集合 與數學上的集合意義相同 相同元素記...
雜湊對映和集合練習
給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的字母異位詞。示例 1 輸入 s anagram t nagaram 輸出 true示例 2 輸入 s rat t car 輸出 falseclass solution def isanagram self,s str,t str boo...
python學習05 對映和集合型別
字典是 python 語言中唯一的對映型別。對映型別物件裡雜湊值 鍵 和指向的物件 值 是一對多的關係。乙個字典物件是可變的,它是乙個容器型別,能儲存任意個數的 python 物件,其中也包括其他容器型別。字典型別和序列型別容器類 列表 元組 的區別是儲存和訪問資料的方式不同。序列型別只用數字型別的...