C 如何自定義線性節點鍊錶集合

2022-09-26 04:09:08 字數 2106 閱讀 5267

本例子實現了如何自定義線性節點集合,具體**如下:

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...