鍊錶的構造,獲取,刪除,順序輸出,倒序輸出,反轉

2021-08-14 10:38:15 字數 2111 閱讀 8698

線性表的資料結構圖:

鍊錶簡介:

鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列節點組成,這些節點不必在記憶體中相連。每個節點由資料部分data和鏈部分next,next指向下乙個節點,這樣當新增或者刪除時,只需要改變相關節點的next的指向,效率很高。

鍊錶的實現還有其它的方式,常見的有迴圈單鏈表,雙向鍊錶,迴圈雙向鍊錶。 迴圈單鏈表 主要是鍊錶的最後乙個節點指向第乙個節點,整體構成乙個鏈環。 雙向鍊錶 主要是節點中包含兩個指標部分,乙個指向前驅元,乙個指向後繼元,jdk中linkedlist集合類的實現就是雙向鍊錶。** 迴圈雙向鍊錶** 是最後乙個節點指向第乙個節點。

操作的原始碼如下:

package com.wpao.data;

public class nodetest

/*** 刪除特定元素:

* @param head

* @param i

* @return

*/public noderemove(nodehead,int i)

curr = head;

int j = 1;

while(curr != null)

previous.next = curr.next;

return head;

}previous = curr;

curr = curr.next;

j+=1;

} return head; }

/*** 獲取特定元素:

* @param head

* @param i

* @return

*/public nodeget(nodehead,int i)

curr = head;

int j = 1;

while(curr != null)

curr = curr.next;

j+=1;

} return null; }

/*** 將鍊錶的順序進行反**逐一改變相鄰兩節點之間的關係,返回之前的尾節點處理;

* 注意點:物件的引用是同乙個記憶體區域,乙個引用修改,另乙個引用也發生修改;

* @param head

* @return

*/public nodefanzhuannode (nodehead)

curr.next = previous;

previous = curr;

curr = next;

} return null; }

/*** 倒序便利:採用遞迴的思想,逐步取出最後乙個元素,後輸出;

* @param head

*/public void reversenode (nodehead) }

/*** @param head 頭節點:

*/public void eachnode(nodehead)

nodecurr = head;

while(curr != null) }

/*** 構造鍊錶:

* @param head 頭節點;

* @param tail 尾節點;

*/public nodeconstructnode(nodehead)

return head; }}

/** * 節點宣告:

* @author dada

* * @param */

class node

}class students

public int getid()

public void setid(int id)

public string getname()

public void setname(string name)

@override

public string tostring()

}

鍊錶的倒序查詢

我所使用的方法在輸入的時候是使用乙個棧儲存所有的資料,利用的是其先進後出的資料結構。當然,用乙個陣列也是可以的 而且我覺得還可以儲存資料,而用stack的話操作比較麻煩。include include include include define len sizeof node using name...

面試題6 倒序輸出鍊錶

思路有兩個 1 利用遞迴思路,這樣比較耗時,但是省空間。2 既然能夠使用遞迴,就能使用棧來操作。首先要涉及到鍊錶的定義和初始化 struct linknode intmain 這裡需要註明 nullptr是c 11才開始使用的關鍵字,為了和c中的null區別。c中的null表明的是乙個void指標,...

1 單向鍊錶(建立,輸出,倒序輸出,轉置)

1.建立 通過頭尾指標建立乙個單向鍊錶 2.輸出 3.倒序輸出 遞迴 4.轉置 用三個指標,乙個被指向p1,乙個指向p2,乙個斷開p3 實現 include include typedef struct node list 建立 list createlist else 尾的下乙個等於temp 尾移...