目標:掌握單鏈表的資料結構
單鏈表常用於儲存樹和圖
我們這裡用用陣列模擬單鏈表 用陣列效率高,而且讓我們更加的理解單鏈表的資料結構
理解了我畫的圖,你就知道了單鏈表需要儲存兩個資訊
單鏈表的操作
ok,基礎的操作就這三個、其餘的操作也基本可以通過這三個得到
題目
acwing826 單鏈表
實現乙個單鏈表,鍊錶初始為空,支援三種操作:這個題目還有一點小坑,比如時間是第k個插入的點的下標是?(1) 向煉表頭插入乙個數;
(2) 刪除第k個插入的數後面的數;
(3) 在第k個插入的數後插入乙個數
現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。
注意:題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的時間順序,這n個數依次為:第1個插入的數,第2個插入的數,…第n個插入的數。
第乙個點 idx=0
第k個點 idx=k-1 下標是k-1
//*****單鏈表的定義*****
private
static
int head;
private
static
int[
] e =
newint
[n];
private
static
int[
] ne =
newint
[n];
private
static
int idx;
//*****單鏈表的操作*****
//1. 初始化單鏈表
private
static
void
init()
//2. 向單鏈表的頭部插入乙個數
private
static
void
addtohead
(int val)
//3. 向單鏈表的下標位k個後加乙個數val
private
static
void
add(
int k,
int val)
//4. 刪除下標位k後面的那個節點
private
static
void
remove
(int k)
資料結構單鏈表
初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...
資料結構 單鏈表
今天浪費了好多時間,也許是心裡想著明天的考試吧 可自己也知道這次的考試,自己畢竟過不了了,只好等到今年11月份,想想那時自己已經大三了 還有那麼多時間嗎!很懊惱今天不知怎麼回事,感嘆環境真的可以影響乙個人,真的可以 把今天的學習筆記寫下來,沒有進行好好的整理,這回單鏈表的功能較多,操作比較散,最後乙...
資料結構 單鏈表
實現乙個單鏈表 1 查詢 查詢第index個節點 查詢指定的元素 2 插入 將指定的元素插入到第index個節點上 3 刪除 將第index個節點刪除 規律 刪除和新增元素前務必儲存兩個元素的位址引用資訊 public class mylinkedlist 記錄鍊錶結構的頭結點位址引用 privat...