回文鍊錶的實現包括以下兩個步驟:
1.遍歷鍊錶,知道鍊錶的長度,並找到中間節點
注:該步驟需要通過快慢指標實現。上篇部落格進行了快慢指標的介紹,請讀者查閱。
2.逆至後半段鍊錶,使用兩個指標分別從頭和中間比較每一半的鍊錶數值;注意鍊錶長度奇偶數。 "或者遍歷並用陣列記錄一遍鍊錶節點資料,再將陣列尾到頭部與煉表相比較,一致則為回文鍊錶。
注:該步驟需要開闢儲存空間
詳細**如下:
/* definition for singly-linked list
struct listnode
; */
typedef
struct listnode node;
bool
ispalindrome
(struct listnode* head)
slow=slow-
>next;
while
(slow!=
null
)while
(temp!=
null
)return
true
;}
資料結構鍊錶實現
二 實驗基本原理與設計 三 主要儀器裝置及耗材 四 附錄 利用linux gnu make c 專案管理軟體工具實現資料結構鍊錶 linked list 要求實現以下功能 push,pop,insert,delete,search,visit go through,clear。節點的資料必須具有一般...
資料結構 棧 鍊錶實現
鍊錶實現的棧可以克服在程式執行時也無法估計棧容量大小的情況 棧中的元素是儲存在稱為節點的類中,每個節點都包含乙個資料域和乙個指標域 資料域儲存棧的值,指標域指示棧中下乙個值得位置 而棧類的資料成員是需要乙個指向棧頂的指標即可 類宣告如下 typedef int stackelement class ...
資料結構 鍊錶(java實現)
鍊錶節點定義 private class node public void setnext node next public node object data private node head private int size public linkedlistonepoint public bo...