class linklist
class node
public node(){}
}/**
* 在煉表頭新增節點
* @param value
*/public void addfirst(int value)
/*** 在鏈尾新增節點
* @param value
*/public void addlast(int value)
/*** 指定位置新增節點
* @param value
* @param index
*/public void add(int value, int index)
pre.next = node;
node.next = cur;
}public int getsize()
/*** 刪除鏈頭節點並返回節點值
* @return
*/public int removefirst()
/*** 刪除鏈尾節點並返回節點值
* @return
*/public int removelast()
final node node = cur.next;
cur.next = null;
size--;
return node.value;
}
/**
* 反轉鍊錶
*/public void reverse()
head.next = pre;
}
/**
* 判斷是否存在迴圈
*/public boolean loopcheck()
return false;
}
/**
* 刪除倒數第 k 個數(方法一)
* @param k
* @return
*/public int deletedesc(int k)
final node tmp = cur.next;
cur.next = tmp.next;
return tmp.value;
}/**
* 刪除倒數第 k 個數(方法二)
* @param k
* @return
*/public int deletelastkth(int k)
node second = head.next, pre = head;
while (first.next != null)
pre.next = second.next;
return second.value;
}
/**
* 判斷是否回文鍊錶
* @return
*/public boolean palindrome()
if (second.next != null) else
return tof(left, right);
}/**
* 反轉以引數節點為尾的鍊錶
* @param node
* @return
*/public node reverse(node node)
cur.next = pre;
return cur;
}/**
* 判斷兩個鍊錶所有的節點值是否相等
* @param left
* @param right
* @return
*/public boolean tof(node left, node right)
if (left == null && right == null)
return true;
else
return false;
}/**
* 輸出所有節點值
*/public void print()
}}
以上均為本人學習時的筆錄總結,若有錯誤之處,請多多指教。
鍊錶的各種操作
鍊錶的各種操作 typedef struct lnode lnode linklist 建立乙個鏈式表 向表中加入資料 status listset linklist head p2 next null return ok 返回鏈式表的長度 int listlength linklist head ...
鍊錶的各種操作
鍊錶的基本操作都寫在下面了 具體內容寫在 注釋中了 include include include include using namespace std struct listnode 增,傳進來要增加尾的鍊錶的表頭 可利用這個函式來建立鍊錶 void create listnode head,i...
鍊錶的各種操作
include include typedef struct node node typedef struct lists void add lists list,int num 建立新鍊錶 void print lists list 輸出鍊錶 void frees lists list 清除鍊錶 ...