單鏈表和雙鏈表

2021-09-02 20:08:51 字數 2118 閱讀 5531

單鏈表:是乙個node,儲存當前物件,並指向下乙個next,;插入在第一位node,next指向原來的first

單鏈表:只儲存第乙個node的引用,

雙端鍊錶:儲存兩個node的引用,第乙個和最後乙個node,可以從第乙個插入,也可以從最後乙個插入,也可以從頭部和尾部刪除/*

* 鏈結點,相當於是車廂

*/public class node

/*** 顯示方法

*/public void display() }/*

* 鍊錶,相當於火車

*/public class linklist

/*** 插入乙個結點,在頭結點後進行插入

*/public void insertfirst(long value)

/*** 刪除乙個結點,在頭結點後進行刪除

*/public node deletefirst()

/*** 顯示方法

*/public void display()

system.out.println();

}/**

* 查詢方法

*/public node find(long value)

current = current.next;

}return current;

}/**

* 刪除方法,根據資料域來進行刪除

*/public node delete(long value)

previous = current;

current = current.next;

}if(current == first) else

return current;}}

public static void main(string args)

2、雙端鍊錶

/*

* 鏈結點,相當於是車廂

*/public class node

/*** 顯示方法

*/public void display()

}

public class doublelinklist

/*** 插入乙個結點,在頭結點後進行插入

*/public void insertfirst(long value) else

node.next = first;

first = node;

}/**

* 插入乙個結點,從尾結點進行插入

*/public void insertlast(long value) else

last = node;

}/**

* 刪除乙個結點,在頭結點後進行刪除

*/public node deletefirst() else

first = tmp.next;

return tmp;

}/**

* 刪除結點,從尾部進行刪除

*/public node deletelast() else

last = last.previous;

return last;

}/**

* 顯示方法

*/public void display()

system.out.println();

}/**

* 查詢方法

*/public node find(long value)

current = current.next;

}return current;

}/**

* 刪除方法,根據資料域來進行刪除

*/public node delete(long value)

current = current.next;

}if(current == first) else

return current;

}/**

* 判斷是否為空

*/public boolean isempty()

}public static void main(string args)

}

單鏈表和雙鏈表

單鏈表 單鏈表只有乙個指向下一結點的指標,也就是只能next 雙鏈表 雙鏈表除了有乙個指向下一結點的指標外,還有乙個指向前一結點的指標,可以通過prev 快速找到前一結點,顧名思義,單鏈表只能單向讀取 為什麼市場上單鏈表的使用多餘雙鏈表呢?從儲存結構來看,每個雙鏈表的節點要比單鏈表的節點多乙個指標,...

單鏈表 雙鏈表

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...

反轉單鏈表和雙鏈表

單鏈表 用乙個臨時變數節點temp儲存當前節點的下乙個節點,當前節點的下乙個節點指向前節點pre,pre便成為當前節點,當前節點便成為temp 雙鏈表 和單鏈表情況類似,用temp節點儲存當前節點的下乙個節點,當前節點的下乙個節點指向前節點pre,當前節點的上乙個節點指向temp節點 已儲存好的下乙...