前幾天的培訓作業,讓我用c#語言來建立乙個單迴圈鍊錶,這個以前在講資料結構的時候有學過,不過那時候用的是c,其中用到的是指標,而在c#裡面沒有了指標,那在c#裡面要怎麼建立乙個單迴圈鍊錶呢?其實在建立乙個新的物件的時候,我們就可以把他理解為乙個指標,c#中並不是說不能用指標,而是將他封裝了起來,對使用者是不可見的,接下來就是我用c#實現的單迴圈鍊錶。
首先當然是定義乙個結構體,在c#裡面那就是乙個類,**如下:
class circlesinglenode
public circlesinglenode(t data)
}順便說一下我們經理讓我用泛型來寫,畢竟要盡量把學過的東西運用起來。
定義好了乙個結構體以後,就要定義乙個新增節點的方法了,單迴圈鍊錶的話只有乙個後節點,沒有前節點,然後最後乙個節點的後節點是指向第乙個節點,這樣就形成了乙個迴圈。我這裡是定義了乙個頭結點來存放第乙個節點,**如下:
class circlesingletable
circlesinglenodeheader;
circlesinglenodecurrent;
public circlesingletable(t data)
public void addlastnode(t data)
public void showmessage(int count) }
}但是這樣寫了以後,會出現乙個小錯誤,就是比如我迴圈新增0-9這10個數到鍊錶中,然後列印出來的結果是0012345678900123456789....這樣子的 我感覺是在賦值第乙個節點的nodenext時沒賦值好,使得他這個頭結點的下乙個節點指向還是這個頭結點的值 然後才指向1 2 3... 不知道這個問題該怎麼解決 看文章的大神們給些意見吧 謝謝了...
單迴圈鍊錶
頭插 尾插 顯示 頭刪 尾刪 按值插入 按位置插入 查詢 長度 逆序 清除 摧毀 初始化 排序 按位置刪除 按值刪除 可以進一步優化 ifndef sclist h define sclist h include typedef int elementtype typedef enum bool 鍊...
單迴圈鍊錶
乙個遊戲,數到第n人出列 include include include struct people struct people creat struct people head,int n else p struct people malloc sizeof struct people tail ...
單迴圈鍊錶 C語言
include include typedef int elemtype typedef int status typedef struct node listnode typedef listnode linklist 初始化單向迴圈鍊錶 void initlist linklist l 判斷單向...