棧和隊列是兩種非凡的線性表,它們的邏輯結構和線性表相同,只是其運算規則較線性表有更多的限制,故又稱它們為運算受限的線性表。
PRivate LinkedList ll=new LinkedList();
public void push(Object o){
ll.addFirst(o);
}
public Object pop(){
return ll.removeFirst();
}
public Object peek(){
return ll.getFirst();
}
public boolean empty(){
return ll.isEmpty();
}
public static void main(String[] args){
MyStack ms=new MyStack();
ms.push("zhangsan");
ms.push("lisi");
ms.push("wangwu");
System.out.println(ms.pop());
System.out.println(ms.peek());
System.out.println(ms.pop());
System.out.println(ms.empty());
}
}
隊列定義
隊列(Queue)是只答應在一端進行插入,而在另一端進行刪除的運算受限的線性表
(1)答應刪除的一端稱為隊頭(Front)。
(2)答應插入的一端稱為隊尾(Rear)。
(3)當隊列中沒有元素時稱為空隊列。
(4)隊列亦稱作先進先出(First In First Out)的線性表,簡稱為FIFO表。
實現代碼:
package com.gc.list;
import java.util.*;
public class MyQueue {
private LinkedList ll=new LinkedList();
public void put(Object o){
ll.addLast(o);
}
//使用removeFirst()方法,返回隊列中第一個數據,然后將它從隊列中刪除
public Object get(){
return ll.removeFirst();
}
public boolean empty(){
return ll.isEmpty();
}
public static void main(String[] args){
MyQueue mq=new MyQueue();
mq.put("zhangsan");
mq.put("lisi");
新聞熱點
疑難解答