棧:
通俗理解:對於乙個陣列的插入和刪除來講,棧就像是乙個盒子一樣,所插入進來的資料都是先進後出,刪除的資料都是後進先出;
畫圖理解:這樣子畫應該很好理解了吧,所有的資料都像是盒子的形式一樣存貯和釋放;
直接上**:
建立乙個棧;
1測試棧:package
inn;
2/**
3* 棧4*
@author
caizhou5*
6*/78
public
class
mystack
1718
public mystack(int
maxsize)
2223
/**24
* 新增資料;
25*
@param
value
26*/
27public
void insert(long
value)
3031
/**32
* 移除資料。
33*/
34public
long
pop()
3738
/**39
* 檢視資料
40*/
4142
public
long
peek()
45/**
46* 判斷是否為空;
47*
@return
48*/
49public
boolean
isempty()
52/**
53* 判斷是否溢位;
54*
@return
55*/
56public
boolean
isfull()
59 }
1測試結果:package
inn;23
public
class
teststack 15}
16 }
60佇列:通俗理解:佇列,和棧基本上是完全相反的,對於陣列的插入和刪除來講,佇列就像是在電影院排隊一樣,先進先出,後進後出;2112
23
畫圖理解:符合先進先出,後進後出的理念;
直接上**:
建立佇列;
1測試佇列:package
inn;
2/**
3* 佇列4*
@author
caizhou5*
6*/7public
class
myqueue
24public myqueue(int
maxsize)
3031
public
void insert (int
value)
36 element++;37}
3839
public
long
delete()
44 element--;
45return
value;46}
4748
/**49
* 從隊頭檢視資料;
50*
@return
51*/
52public
long
peek()
56return
arr[front];57}
5859
public
boolean isempty()
62public
boolean
isfull()
65 }
package測試結果:inn;
public
class
testmyqueue
my.insert(10);
//while(!my.isempty())
system.out.println(my.peek());}}
23到此,棧和佇列就講完了,希望可以幫大家理解的清楚;23,32,13,53,10
資料結構 棧與佇列
題目 1.編寫函式,採用鏈式儲存實現棧的初始化 入棧 出棧操作 2.編寫函式,採用順序儲存實現棧的初始化 入棧 出棧操作 3.編寫函式,採用鏈式儲存實現佇列的初始化 入隊 出隊操作 4.編寫函式,採用順序儲存實現佇列的初始化 入隊 出隊操作 5.編寫乙個主函式,在主函式中設計乙個簡單的選單,分別除錯...
資料結構 棧與佇列
棧的原則是後進先出,即插入與刪除元素均在棧頂進行。獲取棧頂元素 s.top 佇列的原則是先進先出,即插入資料在隊尾進行,刪除資料在隊頭進行。獲取隊頭元素 q.front 思路 用兩個棧,乙個棧用來進隊,乙個棧用來出隊,當資料進入佇列的時候,我們將其壓入乙個棧,當資料出隊的時候,我們將儲存在棧內的資料...
資料結構 棧與佇列
1.順序棧 基本操作 typedef int elemtype 定義 順序棧 typedef struct sqstack 判空 bool stackempty sqstack s 進棧 bool push sqstack s elemtype x 出棧操作 bool pop sqstack s e...