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 ...