c 棧佇列的實現和應用

2021-07-24 18:55:24 字數 1815 閱讀 7727

1.棧的簡單說實現:

簡單來說就是使用輔助的arraylist來對資料進行操作

using system;

using system.codedom.compiler;

using system.collections.generic;

using system.collections;

public class cstack

public void push(object item)

public object peek()

public object pop()

public void clear()

public int count()

}public class test

int pos = 0;

//當棧中有資料的時候

while (stack.count() > 0)

pos++; //標記

ispa = true;

}console.write(ispa);

}}

2.內建佇列:

stack類

預設構造器例項化是乙個具有10個數值初始容量的空棧,呼叫預設構造器的方式如下:

stack mystack=new stack();

每次棧達到滿容量容量值就會翻倍

對常規棧進行例項化如下:

stackmystack=new stack();

使用現有陣列的元素來構建棧

string name=new string;

stack namestack=new stack(name);

例項化帶有初始容量的stack物件

stack mystack=new stack(25);

4.佇列

當需要從佇列中移除資料項時,arraylist會在表中把每乙個保留的資料項向前移動乙個元素

using system;

using system.collections.generic;

using system.collections;

public class cqueue

public void enqueue(object item)

public void dequeue()

public object peek()

public void clear()

public int count()

}public class test

}}

5.將內建佇列變成優先順序佇列

using system;

using system.collections;

using system.collections.generic;

public struct pqitem

public class pqueue : queue

public override object dequeue()

}this.clear(); //清空佇列的資料

int x2;

for (x2 = 0; x2 <= items.getupperbound(0); x2++)

}return base.dequeue(); //這裡不是呼叫基類的**,是執行繼承自基類的**

}}public class test

nextpatient = (pqitem) erwait.dequeue();

console.writeline(nextpatient.name);

}}

實驗二 棧和佇列的實現和應用

採用順序棧完成進製轉換 1 定義順序棧的儲存結構 2 實現順序棧的初始化 判斷是否為空 進棧 出棧等基本操作 3 呼叫順序棧的基本操作實現進製轉換。採用迴圈佇列或鏈佇列實現病人看病的模擬程式 1 定義佇列的儲存結構 2 實現佇列的初始化 判斷是否為空 入隊 出隊等基本操作 3 呼叫佇列的基本操作實現...

c語言 棧和佇列的實現

前提知識 順序表優點 可以隨機訪問,cpu快取記憶體利用率高,不涉及 較少 進行插入和刪除操作,應該使用順序表 一般而言,我們使用順序表 陣列 的形式建立 棧這一資料結構。棧 stack 又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一...

C 棧和佇列 ADT 棧的表示和實現

棧底指標是不動的,插入,刪除都是對棧頂指標進行移動 基本操作的實現 棧的構造,判空,插入,刪除,清空,銷毀,列印 棧的定義 typedef structsqstack 棧的基本操作 操作構造乙個空棧s。initstack s 初始條件 棧s已存在。操作結果 棧s被銷毀。destroystack s ...