本例子實現了如何自定義線性節點集合,具體**如下:
using system;
using system.collections;
using system.collections.generic;
namespace linenodedemo
); linenodes.add(new linenode("n2") );
linenodes.add(new linenode("n3") );
linenodes.add(new linenode("n4") );
console.writeline("1、顯示全部:");
linenodes.foreach(x => );
console.writeline("2、刪除編號為n2的元素:");
linenodes.remove("n2");
linenodes.foreach(x => );
console.writeline("3、刪除索引為1的元素:");
linenodes.removeat(1);
linenodes.foreach(x => );
console.writeline("4、顯示索引為0元素的名稱:");
console.writeline(linenodes[0].name);
console.writeline("5、顯示編號為n4元素的名稱:");
console.writeline(linenodes["n4"].name);
console.writeline("6、清空");
linenodes.clear();
linenodes.foreach(x => );
console.readkey();
} }static class utility
}} class linenodecollection : ienumerable
ienumerator ienumerkauoatoqvable.getenumerator()
public linenode this[int index]
}} public int count
public int indexof(string id)
else
}throw new indexoutofrangeexception("未能在集合中找到該元素");
} public void clear()
public void removeat(int index)
else
if (i == index - 1)
else
break;}}
}this.count--;
} public void remove(string id)
public linenode toplinenode }
public linenode lastlinenode }
} class linenodeenumerator : 程式設計客棧ienumerator
public linenode current
}object ienumerator.current
}public void dispose()
linenode linenode;
public bool movenext()
else
return false;
}} public void reset()
}class linenode
public string id
public string name
public linenode next
public linenode previous }}
注意:①這裡所謂的線性節點指定是每個節點之間通過關聯前後節點,從而形成鏈結的節點;
②本示例完全由博主原創,**請註明來處。
執行結果如下:
示例**位址:c#自定義線性節點鍊錶集合
(請使用vs2015開啟,如果為其他版本,請將program.cs中的內容複製到自己建立www.cppcns.com的控制台程式中)
本文標題: c#如何自定義線性節點鍊錶集合
本文位址:
C 自定義鍊錶
c 中的鍊錶結構在程式中十分常見,用處很廣。鍊錶結構中,每個節點由值部分和指標部分組成,值部分即儲存的資料,指標指向下乙個節點,從而使得每個節點能夠連線起來,值和指標就像骨骼和關節一樣。自定義鍊錶,首先定義出節點的結構,用類表示為 public class node定義完節點,下面開始構造list鍊...
自定義鍊錶
鍊錶是非連續 無順序的資料結構,鍊錶中元素與元素之間的記憶體位址沒有順序關係。鍊錶由乙個個結點組成,結點中儲存兩類資訊,第一類是儲存入結點的資料,第二類是結點的指向。鍊錶分為單項鍊表,雙向鍊錶,環形鍊錶,單項鍊表中只有乙個結點指向,指向的的下乙個結點的記憶體位址,只能單向移動,單項操作 雙向鍊錶有兩...
自定義鍊錶
author qcg version 2019 5 6.description 自定義鍊錶 頭尾部的兩步操作 1.插入節點 next指向node 2.變更節點 last指標後移 node.next insertnode 這是插入元素的操作 public class mylinkedlist node...