刪除單鏈表中重複的值(Java版)

2021-06-28 06:20:44 字數 695 閱讀 2633

題目:刪除帶頭結點的單鏈表中重複值的元素(即讓每種值的元素只有乙個)

解題思路:

用乙個動態輔助儲存陣列,每次要向輔助陣列中放入元素時,讓輔助陣列的長度加1,最長時與單鏈表一樣長,設乙個指標p,讓它指向頭結點,從單鏈表中第乙個元素開始,將它的值放入輔助陣列中,然後依次訪問單鏈表後面的元素,用該元素的值與陣列中所有已經被賦值的元素的值進行比較,如果不等於陣列中任何元素的值,那麼讓p的next指向該結點的next指標,刪除該結點元素,否則令p指向p的next指標,並將當前訪問的節點元素的值依次放入輔助陣列,一直訪問到單鏈表中的最後乙個元素。

adt定義:

//單鏈表的結點類

class lnode

演算法實現:

public class linklistutli

int temp=new int[count];

count=1;

temp[count-1]=q.data;

while(q.next!=null)//一直往下訪問,直到訪問單鏈表中的最後乙個結點

{ q=q.next;//訪問下乙個結點

boolean flag=false;//用來標記當前訪問結點元素中的值是否與之前訪問結點元素的值相同

for(int i=0;i

刪除單鏈表中重複的值

題目 刪除帶頭結點的單鏈表中重複值的元素 即讓每種值的元素只有乙個 解題思路 用乙個動態輔助儲存陣列,每次要向輔助陣列中放入元素時,讓輔助陣列的長度加1,最長時與單鏈表一樣長,設乙個指標p,讓它指向頭結點,從單鏈表中第乙個元素開始,將它的值放入輔助陣列中,然後依次訪問單鏈表後面的元素,用該元素的值與...

刪除單鏈表中的重複結點

方法一 遞迴 link delsame link head 沒有重複的元素,加入list後,為了保持不變式 要從list兩兩比較,如果有相同元素必定在開頭兩個 link pointer,temp head if head next null return head head next delsame...

刪除單鏈表中的重複節點

2.1 知識點分析 鍊錶是線性結構的一種物理實現,除此之外,線性結構還可以使用順序儲存結構來實現。順序儲存是使用記憶體中的一塊位址連續空間順序存放線性表中的每乙個元素,每個元素在物理上相鄰,而鏈式儲存結構則不會要求物理上的元素相鄰,它通過節點的指標域指向下乙個元素。線性結構是資料結構的幾種常見邏輯結...