帶頭迴圈單鏈表的頭插,尾插,指定位置插入元素

2021-09-25 22:02:26 字數 1050 閱讀 7160

1.頭插

分析:對於還沒有進行插入資料的時候,此時的頭結點指向頭結點自己,這個在初始化裡面完成,對於一般情況下的插入,先綁後面再綁前面。具體如下圖所示:

程式如下:

public void addfirst(int data)
二、尾插

分析:如果要進行尾插,那麼要先找到尾巴,找到尾巴之後同樣的的先綁後面的再綁前面的。對於尾插的先綁後面就是綁頭

程式如下:

public void addlast(int data) 

//迴圈出來之後cur所指的結點就是尾結點

node node = new node(data);

node.next=this.head;

cur.next=node;

}

三、指定位置插入

分析:1)首先要對要插入的位置進行合法性判斷

2)如果下標在其合理範圍之內,則接下來要做的事情就是找到要插入位置的前乙個結點。之後才能夠進行繫結。

程式如下:

public boolean addindex(int index, int data) 

//2.找到index-1的位置

node cur=this.head;

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

node node =new node(data);

//3.進行插入

node.next=cur.next;

cur.next=node;

return true;

}

學習筆記 單鏈表的頭插 尾插

頭插法 1 頭結點指向賦值為空 2 將新節點插入到原頭節點之後,首節點之前 3頭節點重新指向插入的節點 應用例題 輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。思路 首先建立乙個輔助鍊錶,然後取原鍊錶中的元素,使用頭插法將其插入到新的輔助鍊錶中去,最後就能得到乙個從尾到頭的array...

單鏈表的頭插法與尾插法

頭插法 在頭結點 為了操作方便,在單鏈表的第乙個結點之前附加乙個結點,稱為頭結點。頭結點的資料域可以儲存資料標題 表長等資訊,也可以不儲存任何資訊,其指標域儲存第乙個結點的首位址 h之後插入資料,其特點是讀入的資料順序與線性表的邏輯順序正好相反。尾插法 將新節點插入到當前節點的表尾結點之後。incl...

頭插法和尾插法建立單鏈表

頭插法和尾插法建立單鏈表 include using namespace std typedef int elemtype typedef struct lnode linklist 頭插法建表 從尾部乙個乙個往前插入 void createlisthead linklist l,elemtype ...