對資料的查詢,刪除等基本操作是任何程式語言都會涉及到的基礎,因此,研究了一下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 網域名稱服務 ...