創作內容

18 GP

C# Linked List

作者:貓貓風 ฅ●ω●ฅ│2017-11-22 22:48:08│巴幣:142│人氣:2496
.














Linked List  連結串列是很常使用到的資料結構之一

Stack 跟Queue 都是此方法的變形

Linked List的特點就是可以將資料存在不連續的記憶體中

當要用的時候在New記憶體空間,不會造成額外的浪費

與陣列不同的地方是,陣列為使用連續的記憶體位置

以下為 Linked List的用法


  1. using System;  
  2. using System.ComponentModel;  
  3. using System.Data;  
  4. using System.Drawing;  
  5. using System.Linq;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using System.Collections.Generic;  
  9.   
  10. namespace linked_list  
  11. {  
  12.     public partial class Form1 : Form  
  13.     {  
  14.         private int count = 0;  
  15.         LinkedList<String> list = new LinkedList<String>();  
  16.   
  17.         public Form1()  
  18.         {  
  19.             InitializeComponent();  
  20.         }  
  21.   
  22.         private void Form1_Load(object sender, EventArgs e)  
  23.         {  
  24.             list.AddLast("アクジキング");  
  25.             list.AddLast("ネクロズマ");  
  26.             list.AddLast("マギアナ");  
  27.             list.AddLast("マーシャドー");           
  28.         }  
  29.   
  30.         private void button3_Click(object sender, EventArgs e)  
  31.         {  
  32.             richTextBox1.Text = "";  
  33.             textBox1.Text = list.First.Value; // get first element  
  34.             textBox2.Text = list.ElementAt(2); // get list element at position 2  
  35.             textBox3.Text = list.Last.Value; // get last element  
  36.   
  37.   
  38.             foreach (String s in list) // list all element  
  39.             {  
  40.                 count++;  
  41.   
  42.                 if (list.Count - count == 0)  
  43.                 {  
  44.                     richTextBox1.Text += s; // last element  
  45.                 }  
  46.                 else  
  47.                 {  
  48.                     richTextBox1.Text += s + ",";  
  49.                 }  
  50.             }  
  51.         }  
  52.   
  53.         private void button1_Click(object sender, EventArgs e)  
  54.         {  
  55.             list.AddLast(textBox4.Text);   
  56.         }  
  57.   
  58.         private void button2_Click(object sender, EventArgs e)  
  59.         {  
  60.             list.Remove(textBox4.Text); //delete by index  
  61.         }  
  62.     }  
  63. }  

執行畫面:

首先列出全部成員,預設放入四個成員

欄位1呈現第一個成員
  
欄位2呈現第二個成員

欄位3呈現最後一個成員

欄位4呈現所有成員


   接著加入成員  カミツルギ , 呈現出的結果列尾變成剛剛加入的成員

    

    在加入 テッカグヤ ,觀察整體成員的變化,每次加入一定都會補在列尾

    

   最後是刪除成員 ネクロズマ ,下圖呈現的結果就會看到該成員已被移除

  成員二的位置變成剛剛成員三

   

  圖解

  初始狀態

加入一個成員

在加入一個成員

刪除第二個成員

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3797527
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:涼涼風|C#

留言共 13 篇留言


頭 香

11-22 22:55

貓貓風 ฅ●ω●ฅ
恭喜00 ฅ ●ꈊ● ฅ11-22 22:56
小刀
好厲害的說

11-22 22:58

貓貓風 ฅ●ω●ฅ
謝謝刀姊11-23 23:50
呆皮的同學

11-22 23:48

貓貓風 ฅ●ω●ฅ
其實還好><11-23 23:50
潔絲米✿゚

11-23 04:29

貓貓風 ฅ●ω●ฅ
桑Q11-23 23:50
薯條控

11-23 05:03

貓貓風 ฅ●ω●ฅ
ฅ●ω●ฅ11-23 23:50
透明
原來C#有實作好的Linked_List啊,謝謝分享~

11-23 10:33

貓貓風 ฅ●ω●ฅ
對呀 終於不用自己實作了 變得很簡單11-23 23:50
PaPaPa
用C#寫好簡單 比之前用C++寫快很多

11-23 12:15

貓貓風 ฅ●ω●ฅ
有現成的就是比較方便11-23 23:51
Fuwawa
這是甚麼r

11-23 21:04

貓貓風 ฅ●ω●ฅ
資料結構喔11-23 23:51
至上大天神超星宿及月
成員都是日文會有點小搞混說…

11-23 23:36

貓貓風 ฅ●ω●ฅ
其實也可以放中文 跟英文 數字也行11-23 23:51
小魚
現在C#自己有開發LinkList了喔,
不過我習慣用List就好,
好像沒差很多,
反正都是可以新增刪除.

以前C++還要自己寫LinkList自己處理new跟delete,
要Debug好幾次才會修到沒有問題 @@

11-24 12:36

貓貓風 ฅ●ω●ฅ
List是比較好用沒錯,LinkList我本身也很少用,只是剛好看到有實作方法,就記錄一下喽11-24 15:48
小魚
另外Dictionary也蠻好用的,
要找資料程式碼也很簡潔,
(針對Key找資料而言)
而且聽說(?)速度會比較快.

11-24 12:37

貓貓風 ฅ●ω●ฅ
是的 我這篇就是用Dictionary 可以參考看看 https://home.gamer.com.tw/creationDetail.php?sn=352734011-24 15:46
珀伽索斯(Ama)
欸!這個很不錯,我很喜歡顯示的結果[e34]

11-24 21:04

小伊
抱歉貓貓~最近工作忙>"< 來踏踏打個招呼喔^^

12-02 20:05

貓貓風 ฅ●ω●ฅ
沒關係唷 有空在回文就好 小伊辛苦喽 加油12-02 23:22
我要留言提醒:您尚未登入,請先登入再留言

18喜歡★s1234567 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:精靈寶可夢 究極之日/月... 後一篇:初音未來 Project...

追蹤私訊切換新版閱覽

作品資料夾

d88931122所有巴友
歡迎諸君來參觀老僧的小屋,內含Steam與Google Play遊戲、3D角色模組、Line貼圖看更多我要大聲說3小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】