C 自定義單鏈表

2021-08-29 01:19:32 字數 1732 閱讀 6828

在c#中模擬庫中已存在的集合,鍊錶linkedlist。可以做新增、插入等操作

可以先寫乙個鍊錶介面,然後再去實現介面的功能

inte***ce ilist

//建立乙個索引器

t getele(int index);  //根據索引來得到元素

int locate(t value);  //根據元素值,從前往後找到對應索引

}再建立乙個節點類(為了方便,這裡直接初始化節點類的資料)

class node

實現介面功能

class linklist:ilist

else

temp.next = newnode;}}

//取得鍊錶長度,直接返回count

public int getlength()

public void clear()

//判斷鍊錶是否為空,返回乙個bool值

public bool isempty()

//(先寫索引器方法再寫插入方法,請先看索引器**)

//插入先考慮使用者輸入的索引值越界情況,然後再做,定義乙個新的節點,

//如果索引值為0,則新節點為頭節點,否則定義乙個臨時變數為頭節點,for迴圈遍歷到使用者輸入索引值前面一位的節點,再得到當前索引節點,將新節點插入到兩者之間

public void insert(int index, t item)

else

nodeprenode = temp;

nodecurnode = temp.next;

prenode.next = newnode;

newnode.next = curnode;}}

}//刪除操作  如何索引值為零,head = head.next,否則然後再遍歷到index前面一位的節點,得到index節點和其後面的乙個節點

//將index-1的節點和index+1的節點連線

public t delete(int index)

count--;

nodetemp = new node();

temp = head;

if (index == 0)

else

nodeprenode = temp;

nodecurnode = temp.next;

nodenextnode = temp.next.next;

prenode.next = nextnode;

}return this[index];

}//索引器,根據index返回值,只需要get方法

public t this[int index]

return temp.data;}}

public t getele(int index)

}public int locate(t value)

temp = temp.next;

}return targetindex;

}public void showall()

console.writeline();

console.writeline("length:"+count);

}//將鍊錶反向輸出,遞迴方法

//public void reverselist(nodenode)

//}//將鍊錶反向輸出,將鍊錶中資料壓棧,再出棧

public void reverselist()

for (int i = 0; i < count; i++)

}

C 自定義控制項和自定義事件

今天在專案開發的過程中,因為好幾個頁面都要用到同乙個分類控制項,就想著把它做成乙個自定義控制項,然後隨託隨用。在網上找了些列子,自定義控制項的寫法不用多說,主要說一下,如何將控制項的事件,封裝到自己定義的控制項的自定義事件裡面。這裡同時也當作對自定義事件的乙個複習吧。首先控制項是乙個由treelis...

C 自定義控制項

做radiobutton button textbox的自定義控制項 先在工程分別新增3個類 然後分別在類裡面寫 diybutton.cs diytextbox.cs diyradiobutton.cs 寫好自定義控制項後就開始更改一些地方 窗體下有個窗體名.designer.cs開啟這個 檔案 更...

C 自定義特性

code1 using system using system.collections.generic using system.linq using system.text namespace mylibrary.attributeclass 對於位置引數,通常只提供get訪問器 public s...