資料結構之單鏈表的增刪改查(java版)

2021-07-24 07:32:10 字數 1922 閱讀 3220

talk is cheap,show you zhe code;

/*

* 單鏈表的遍歷是從第0個節點開始 沿著next鏈,一次訪問每個節點並且每個節點只能訪問一次

* 當頭結點head為空時 此煉表為空鍊錶

* * 插入操作

* 1空表插入 判斷是否為空 插入的節點為該鏈的頭結點

* 2頭插入

* nodep = new node;//建立值為x的p結點

* p.next= head; 指向頭結點

* head=p;

* * 3

*/public

class node

public

node()

public string tostring()

}

package datastructure.linklist;

/* * 頭結點 單鏈表的儲存結構中總是帶著頭結點的,忽略其資料域

*/public

class singlelist

public

singlelist(t values)

}public boolean isempty()

public t get(int i)

return (i >= 0 && p != null) ? p.data : null;

}public

void

set(int i)

public

intsize()

dowhile(p!=null);

return size;}/*

* @param the loaction of insert

* * @param value

* 此處採取了容錯措施 若i<0則插入最前 若i>size則插入在尾部

*/public

void

insert(int i, t x)

nodefront = this.head;

for (int j = 0; front.next != null && j < i; j++)

front.next = new node<>(x, front.next);

}public

void

insert(t x)

public

void

remove(int i)

if (front.next != null && i >= 0)

}public string tostring()

}str += ")";

return str;

}public

static

void

main(string args) ;

string values = ;

singlelisttest = new singlelist(values);

system.out.println(test.tostring()+test.size());

system.out.println("索引為1 的結點值" + test.get(1).tostring());

test.insert(-1, "insertlocation");

system.out.println(test.tostring());

test.remove(2);

test.insert("fd");

system.out.println(test.tostring());

singlelisttest2 = new singlelist(valuesnumber);

system.out.println(test2.tostring());

}}

Java實現單鏈表資料結構的增刪改查

package 鍊錶 1 單鏈表的插入 刪除 查詢操作 2 鍊錶中儲存的是int型別的資料 public class singlylinkedlist return p 通過index查詢 public node findbyindex int index return p 無頭部節點 哨兵 表頭部...

C語言資料結構 單鏈表的增刪改查

注意 linklist l 於 linklist l 的區別,前者只能改變指標指向的內容,後者同時還可以修改指標本身,即指標內部 include include includetypedef int elemtype typedef int status 定義結構體 typedef struct l...

單鏈表增刪改查

include include include include using namespace std struct node node int x,node next null 帶參初始化 建立煉表頭結點,新增引用因為要改變指標的位址指向 void createlink node head 新增鍊...