C 基礎隨手筆記之基礎操作優化

2022-02-18 07:53:15 字數 1000 閱讀 4989

對資料的查詢,刪除等基本操作是任何程式語言都會涉及到的基礎,因此,研究了一下c#中比較常用的資料操作型別,並順手做個筆記.

list查詢時,若是處理比較大的資料則使用hashset類,因為list是基於線性表操作的.但其內嵌了二分查詢(binarysearch),因此,也可以在儲存完之後進行排序,隨後用二分查詢.不過也可以這樣設計:dictionary>利用dictionary高效的搜尋查詢能力來搜尋list物件.但是資料卻是使用list儲存.

hashset是乙個不包含重複型別的集合類.此集合基於雜湊值,其操作都是很快的.相比較hashtable,此集合類只包含乙個型別引數,不是基於鍵值對來儲存尋找元素的.若是需要確定元素是否存在,只需要呼叫contains()方法即可.

list 查詢複雜度 o(n), hashset 查詢複雜度o (1)

dictionary類的刪除新增操作:

預設情況不排序下,新增了元素的位置是在刪除元素的位置.

若是排序,新增了元素的位置依舊會是在未排序之前的元素位置.

"未經處理:");

foreach (var k in

dic_sort)

console.writeline(

"經過刪除新增處理:");

_dic.remove(2);

_dic.add(

4, 4

);

foreach (var k in

_dic)

console.read();

}你也可以自己測試下...

C 隨手筆記

成員變數在使用初始化列表初始化時,與建構函式中初始化成員列表的順序無關,只與定義成員變數的順序有關。因為成員變數的初始化次序是根據變數在記憶體中次序有關,而記憶體中的排列順序早在編譯期就根據變數的定義次序決定了。這點在effectivec 中有詳細介紹。如果不使用初始化列表初始化,在建構函式內初始化...

C 入門隨手筆記

1 net framework是microsoft為開發應用程式而建立的乙個開發平台。執行作業系統不限 microsoft版本執行在windows,mono版本執行開linux和macos 應用程式的型別不限 windows web web服務及其他。相容多種開發語言 c c vb jscript ...

隨手筆記之VC 七

tcp udp ip 協議 應用層 處理網路應用 表示層 資料表示 會話層 主機間的通訊 傳輸層 端到端的鏈結 tcp udp 網路層 定址和最短路勁 ip 資料鏈路層 介質訪問 物理層 二進位制傳輸 telnet 遠端登入協議。ftp 檔案傳輸協議 http 超文字傳輸協議 dns 網域名稱服務 ...