C#泛型集合之——鏈表


鏈表基礎

1.概述:C#中泛型集合中的鏈表—LinkedList 是一個雙向鏈表,其結點為LinkedListNode 結構 其中,結點結構包含:Next,Previous,Value三部分。且結點中值可以重復。

鏈表的插刪要快於Link Link實質上是順序型,可以用foreach。而鏈表不行!

2.鏈表的創建及初始化:

(1) LinkedList<類型> 鏈表名 = new LinkedList<類型> ();

(2) LinkedList<類型> 鏈表名 = new LinkedList<類型> (數組名);

注意:LinkedList<類型> 鏈表名 = new LinkedList<類型> () {值} ; 這樣是錯誤的,因為LinkedList中元素應該是結點LinkedListNode 而不能是單純的值!

  1. 鏈表結點的創建及初始化:

LinkedListNode<類型> 結點名 = new LinkedListNode<類型> (值);

//初建結點必須賦值,類型為只讀型,不能修改前后的指向。

4.鏈表的基本操作:

(1)    取鏈表的首位元素:鏈表名.First 鏈表名.Last //返回為結點型

(2)    鏈表結點的前后移動:結點.Next 結點.Previous  //返回為結點型

(3)    統計鏈表的長度:鏈表名.Count();  //()圓括號有沒有都行

   鏈表名.(LongCount()) //必須有圓括號

(4)    添加結點:

鏈表名.AddFirst(); //圓括號中為值或者是結點,添加在鏈表頭

鏈表名.AddLast(); //參數同上,添加在鏈表尾

鏈表名.AddBefore(參數一:添加位置,為結點類型,參數二:添加元素,值或者是結點類型);

鏈表名.AddAfter(參數一:添加位置,為結點類型,參數二:添加元素,值或者是結點類型);

(5)    刪除結點:

鏈表名.Remove(); //括號中值為鏈表中值,若該值存在於多個結點中,則只刪除第一個。括號中值也可以為結點類型,但是要注意這個結點必須是從原鏈表中獲取的,否則運行會出錯

鏈表名.RemoveFirst(); //刪除首結點,首結點會自動后移

鏈表名.RemoveLast(); //刪除尾結點,尾結點會自動前移

(6)    查找結點值:返回值為布爾類型

 鏈表名.Contain(); 括號內為結點的值,不能是結點

(7)    查找結點:返回值為結點類型  

鏈表名.Find(); 括號內為結點的值,不能是結點。若有多個結點的值相同,只返回第一個

鏈表名.FindLast(); 與Find 相同只是從后往前找

(8)    在鏈表中,要想判斷兩個結點是否為同一個結點不能用==號,要使用 結點.Equals(結點);

(9)    鏈表清空: 鏈表名.Clear();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM