單鏈表實現佇列很簡單,因為佇列是先入先出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...