小屋創作

日誌2017-11-22 22:48

C# Linked List

作者:貓貓風 ฅ●ω●ฅ

.














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呈現所有成員


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

    

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

    

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

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

   

  圖解

  初始狀態

加入一個成員

在加入一個成員

刪除第二個成員

18

13

LINE 分享

相關創作

碧藍航線 自動戰鬥腳本 v2.2.2 奏響鳶尾之歌

碧藍航線 自動戰鬥腳本 v2.2.1 破曉冰華

碧藍航線 自動戰鬥腳本 v2.2.6杰諾瓦的焰火

留言

開啟 APP

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

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