單鏈表實現佇列和棧

2021-09-11 06:16:05 字數 1920 閱讀 2941

單鏈表實現佇列很簡單,因為佇列是先入先出fifo,所以入隊就是在單鏈表的頭插入資料,出隊就是在單鏈表的尾得到資料,然後刪除。

佇列的介面:

public inte***ce queue
介面實現:

public class queueimpl implements queue 

@override

public int pop()

@override

public void display()else}}

棧的結構是先入後出,所以就是在單鏈表的頭插入資料,在單鏈表的頭取資料,然後刪除

介面:

public inte***ce stack
public class stackimpl implements stack 

@override

public void put(int data)

@override

public int pop()

public boolean isempty()

}

然後是主函式的呼叫:

queue queue = new queueimpl();

queue.put(1);

queue.put(2);

queue.put(3);

int q = queue.pop();

system.out.println(q);

queue.display();

stack stack = new stackimpl();

stack.put(1);

stack.put(2);

stack.put(3);

stack.put(4);

system.out.println(stack.pop());

輸出:

單鏈表的定義如下:

public inte***ce linklist
public class linklistimpl implements linklist 

private class node

}@override

public void add(int data) else

cur.next = node;

}size++;

}@override

public int get(int curr)

node cur = head;

for (int i = 1; i < curr; i++)

return cur.data;

}@override

public void insert(int curr, int data) else

node.next = point.next;

point.next = node;

}size++;

}@override

public void display() else

system.out.println("");}}

@override

public void delete(int cur) else else

prepoint.next = curpoint.next;

size--;}}

}@override

public int getsize()

}

單鏈表補充:insert時要注意單鏈表不存在的情況和尾指標的位置。

佇列 單鏈表實現

佇列,就是排隊,先到的站前面,先離開,後到的排後面,後離開。對應到計算機中,就是新增元素在隊尾,刪除元素是在隊頭,先進先出或後進後出。新增元素也叫入隊 enqueue 刪除元素也叫出隊 dequeue 當然還可以檢視隊頭元素,隊中元素個數,以及是否為空,所以佇列提供了api 就是enqueue,de...

單鏈表實現棧

程式設計實現下面的棧頂操作 cpp view plain copy print?class mydata 解析 顯然這裡需要實現棧的3種基本操作,即進棧 出棧以及判空。為了方便起見,使用單鏈表結構實現棧並且使用類的形式來定義站內及其節點。首先是節點類和棧類的具體定義,程式 如下 cpp view p...

用單鏈表實現佇列

規則 先進先出,後進後出 第一步 先初始化單鏈表結構。宣告兩個指標,乙個head指標指向頭部結點,乙個last指標指向尾部結點。初始化單鏈表時,頭部head指標和尾部last指標是重合的。用單鏈表實現佇列 author ouyangjun public class singlechaintableq...