使用單向鍊錶也可以實現佇列,通過在鍊錶的末端插入元素的方式實現入隊(enqueue)操作,通過刪除鍊錶的表頭元素實現出隊(dequeue)操作。
package queue_study;
/** * created by administrator on 2018/5/13.
*/public class llnode
public int getdata()
public void setdata(int data)
public llnode getnext()
public void setnext(llnode next)
}
package queue_study;
/** * created by administrator on 2018/5/13.
*/public class llqueue
//判斷佇列中是否有元素
public boolean isempty()
//入隊操作:在佇列的隊尾插入乙個元素
public void enqueue(int data) else
}//出隊操作:刪除並返回隊首的元素
public int dequeue() else
}}
package queue_study;
/** * created by administrator on 2018/5/13.
*/public class llqueuetest
}
[1] 資料結構 基於單向鍊錶的回文字串判斷
學習了極客時間王錚老師的 資料結構與演算法之美 中 06 鍊錶 上 如何實現lru快取淘汰演算法?課後思考留了一道演算法題,給定乙個字串,判斷是否是回文字串,而且呢,這個字串不是普通的字串,字串中各個字元是以單向鍊錶的資料結構首尾相連,看起來像下面這樣 1 2 3 0 3 2 1,我們來一起看下這個...
單向鍊錶的實現
c語言實現單向鍊錶是利用結構體作為節點,結構體指標傳遞位址 include include include typedef struct node node typedef struct node lnode 定義結構體資料型別lnode typedef struct node linklist 定...
佇列的實現(鍊錶方法)
佇列的實現就顯的有點麻煩了,因為佇列是一種先進先出的資料結構,如果是用陣列去做的話,就會導致陣列的浪費,因為當你pop的時候,頭指標向後移動,會導致index從0開始向後面的逐步浪費,但是你如果在pop操作後讓陣列先前移動的話,又會導致時間複雜度上的提公升,所以用陣列去完成佇列的操作就會顯的不是很完...