主要通過編碼實現單鏈表的基礎操作:
1 從頭插入節點
2 插入鍊錶中指定位置的節點
3 根據指定的value來查詢節點
4 根據指定的節點索引來查詢節點
5 刪除第乙個節點
6 刪除節點指定位置的值
7 刪除指定索引的節點
8 列印列表資訊
public class node/*** 顯示資料
*/public void
show()
}
class nodeapi
/*** 從頭開始插入
*@param
value
*/public void
insertfrombeginvalue(long value)
/*** 基於迴圈遍歷插入
* 實現思路
1 從頭開始交換
2 互動指標域
3 互動值域
*@param
value
指定節點位置的值
*@param
index
要插入的位置的索引
*/private void
insertnodebypostiiton01(int index,long value)
else
insertnode.next = currentnode.next;//
指標域currentnode.next = insertnode;
//值域
}}
/*** 基於查詢思路
* 1
根據索引查詢出當前索引對應的節點
* 2
改變節點指標域
* 3
改變節點值域
*@param
index
*@param
value
*/private void
insertnodebypostiiton02(int index,long value)
else
}
/*** 根據指定的值域查詢節點
*@param
value
*@return
*/public node findnodebyvalue(long value)
currentnode = currentnode.next;}
return currentnode;
}
/*** 根據指定的節點索引查詢節點
*@param
index
*@return
*/public node findnodebyindex(int index)
else
}return currentnode;
}
/*** 查詢第乙個節點
*@return
*/public node findfirstnode()
/*** 刪除第乙個節點
*@return
*/public node deletefirstnode()
/*** 根據指定的值 刪除節點
*@param
value
*@return
*/public void
deletenodebyparam(long value)
previousnode = currentnode;
currentnode = currentnode.next;}
//刪除第乙個節點
if (currentnode==firstnode)
else
}
/*** 根據指定的索引 刪除節點
*@param
index
*@return
*/public void
deletenodebyindex(int index)
//刪除的是第乙個節點
else if (index==1)
else
currentnode = currentnode.next;}
}}
/**}* 顯示列表資料
*/public void
showlinklist(node node)
else
while (currentnode!=null)
//換行system.out
.println();
}
Java鍊錶(基本操作)
鍊錶是一種最為簡單的資料結構,它的主要目的是依靠引用關係來實現多個資料的儲存,下面 以string字串型別示例 class node public void setnext node next public node getnext public string getdata public clas...
鍊錶基本操作
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...