棧與佇列和陣列、鍊錶、樹這幾種資料結構不太一樣。棧與佇列主要是做為程式設計師的工具來使用,它們主要做為構思演算法的輔助工具,而不是完全的資料儲存工具。
它們的生命週期比陣列那些要短得多,在程式執行期間它們才會被建立,任務執行完就會被銷毀。
棧是一種只能在一端進行插入和刪除資料的資料結構,這一端被稱為棧頂(top)。其特點簡單來講就是先進後出。棧的主要機制可以用陣列來實現,當然也可以用鍊錶來實現。
用陣列實現棧,並完成常用操作——出棧、入棧、檢視元素(只能檢視棧頂元素)、判斷棧是否為空等操作。
public
class
stacktest
public
stacktest
(int maxsize)
/** * 新增資料
* @param value
*/public
void
push
(int value)
/** * 移除資料
* @return
*/public
long
pop(
)/**
* 檢視資料
* @return
*/public
long
peek()
public
boolean
isempty()
/***
* 判斷是否滿了
* @return
*/public
boolean
isfull()
}
棧的所有操作複雜度都為o(1),棧的操作不依賴棧中元素大小,棧不需要移動和比較操作。
佇列的特點是先進先出。佇列也是用陣列來實現。
用陣列實現佇列,並完成常用操作——出隊、入隊、檢視元素、判斷佇列是否為空等操作。
public
class
queuetest
public
queuetest
(int maxsize)
/** * 插入資料
* @param value
*/public
void
insert
(long value)
/** * 刪除資料
* @return
*/public
long
remove()
/** * 檢視資料,從對頭檢視
* @return
*/public
long
peek()
/** * 判斷是否為空
* @return
*/public
boolean
isempty()
public
boolean
isfull()
}
佇列的插入、刪除等操作的複雜度都為o(1)。
優先順序佇列和普通佇列一樣,也是乙個隊頭,乙個隊尾,從隊頭移除元素,優先順序佇列中,資料項是有序的,這樣插入資料的時候就會根據某種規則去比較,然後插入到佇列合適的位置。因此,優先順序佇列插入的複雜度為o(n),刪除和檢視元素的複雜度為o(1)。
用陣列實現優先順序佇列,並完成常用操作——出隊、入隊、檢視元素、判斷佇列是否為空等操作。
public
class
firstqueuetest
public
firstqueuetest
(int maxsize)
/** * 插入資料
* @param value
*/public
void
inser
(long value)
else
else
} elements++
; end++;}
}/**
* 刪除資料
* @return
*/public
long
remove()
/** * 檢視資料,從對頭檢視
* @return
*/public
long
peek()
/** * 判斷是否為空
* @return
*/public
boolean
isempty()
public
boolean
isfull()
}
棧的特點是先進後出,棧只能檢視棧頂的乙個元素
佇列的特點是先進先出,只能檢視隊頭的乙個元素
優先順序佇列插入一條元素,平均需要移動2/n個元素,因此插入的複雜度為o(n)
棧和佇列,可以用陣列實現,也可以用其他資料結構實現
棧和佇列是為了完成某些工作,手動構造的資料結構
判斷棧是否為空 棧與佇列簡介
棧與佇列和陣列 鍊錶 樹這幾種資料結構不太一樣。棧與佇列主要是做為程式設計師的工具來使用,它們主要做為構思演算法的輔助工具,而不是完全的資料儲存工具。它們的生命週期比陣列那些要短得多,在程式執行期間它們才會被建立,任務執行完就會被銷毀。棧是一種只能在一端進行插入和刪除資料的資料結構,這一端被稱為棧頂...
棧與佇列 建立棧 佇列
陣列棧 完成stack createstack int maxelements 函式,該函式建立乙個棧,maxelements為與分配的棧空間大小 棧可用空間為array 0,maxelements 1 typedef int elemtype struct stackrecord typedef ...
棧 佇列與優先佇列
123 45 include stack int s 入棧 push 出棧 pop 取棧頂top 123 45 include queue int s 入隊 push 出隊 pop 取隊首元素 front 不刪除 123 4priority queue int pq 入隊 push 出隊 pop 取...