如果原煉表不為空,要插入的節點的下乙個節點就是原來鍊錶的頭節點,新鍊錶的頭節點就是要插入的節點;
如果原煉表為空,直接插入,頭節點就是要插入的節點
}如果 原煉表為空,尾插同頭插
如果原煉表不為空,找到鍊錶最後乙個結點,最後乙個結點的下乙個結點就是要插入的結點
//查詢鍊錶最後乙個節點,前提是鍊錶中至少有乙個節點
private node curlast()
node cur = this.head;
while(cur.next != null)
return cur;
}//尾插
public void pushback(node node)else
}
如果原煉表不為空,頭刪就是讓原鍊錶的頭結點的下乙個節點為新鍊錶的頭結點
}如果原煉表不為空,尾刪就是讓原鍊錶的倒數第二個結點的下乙個節點為空
//找倒數第二個節點
private node curlastlast()
return cur1;
}//尾刪
public void popback()else
}
public void display()
}
鍊錶基本操作
include include string h include typedef struct stust void xj st h 生成單鏈表 l l null void shc st h 輸出鍊錶 printf d n h d void chr st h 按大小插入元素 else h h l v...
鍊錶基本操作
動態記憶體的相關知識int p null 定義指標變數 p int malloc sizeof int 申請記憶體空間,並且進行強制型別轉換 p 3 使用指標變數 typedef struct list typedef struct listnode listpointer struct listn...
鍊錶基本操作
鍊錶就是c中利用結構體,將資料和下乙個結構體的位址封裝在乙個結構體中形成乙個節點,這些節點組合起來就是乙個基礎的鍊錶,根據需要可以擴充套件其中的內容來實現不同的需求。實現乙個鍊錶需要定義節點,建立,初始化,插入,刪除這些基本操作。include stdafx.h include stdlib.h i...