資料結構 線性表 單鏈表Java

2021-09-19 08:04:29 字數 1105 閱讀 9350

建立自定義的類和構造方法來實現簡單的單鏈表。將結點結構定義為私有內部類,在外部類中對鍊錶結構進行初始化,包括頭結點和初始大小。

單鏈表操作原理不難,難點在於對鍊錶進行插入和刪除操作時,對於指標交換和分配的邏輯。

插入:找到要插入的位置 i 後,用新結點的後繼指標替換 i 的後繼指標,再將 i 的後繼指標指向該新結點。

刪除:將要刪除位置的後繼指標指向下下個元素。

整表建立:注意頭插法和尾插法的邏輯,詳見**注釋

package sqlist;

/** * 單鏈表

* @author yjc

* */

public class singlelinkedlist

//鍊錶的結點類

private class node }

//查詢鍊錶中第i個元素,返回給e

public node find(int i,object e)

e = current;

return (node) e; }

//在第i個位置前插入新的元素e

public object insert(int i,object e)

newnode.next = current.next;

current.next = newnode;

return newnode; }

//刪除第i個結點

public void delete(int i)

current.next = current.next.next;

} //單鏈表的整表建立,頭插法 加入n個元素到單鏈表

public void createathead(int n) }

public void createattail(int n)

//此時tempnode是尾結點

node.next = tempnode.next;//null,把node定義為尾結點,後繼指標為null

tempnode.next = node;//當前尾結點的後繼指標指向node

} }}

資料結構 線性表 單鏈表

本文只要實現單鏈表的初始化 插入 尾插 頭插 任意位置插入 刪除 尾刪 頭刪 刪除指定元素 查詢等。定義單鏈表 typedef int datatype typedef struct linknode linknode,plinknode,plist 實現單鏈表的所有介面 void initlink...

資料結構 線性表 單鏈表

資料結構 線性表的鏈式表示 單鏈表 線性表元素序號從1算起 date 2017 4 13 include include define initsize 100 define elemtype char typedef struct lnodelnode,linklist linklist crea...

資料結構 線性表 單鏈表

include include 結構體的定義和數序表的定義 typedef int elemtype typedef struct node node 函式的宣告 void initnode node h int addnode node h,elemtype e void deletenode n...