棧和優先佇列(一)

2021-09-11 02:08:11 字數 1083 閱讀 9644

普通佇列:先進先出;後進後出

堆的基本表示

完全二叉樹:把元素順序排列成數的形狀,不缺父節點、左節點、右節點、不缺這些就是完全元素

二叉樹的性質就是:父節點大於左節點和右節點,左節點大於右節點

用陣列儲存二叉樹(查父節點和左接點、右節點)

查父節點:(i)=*(i-1)/2     有虛擬節點:(i)=i/2

查左節點: (i)=2*i

查右節點:   (i)=2*i+1

//返回堆中的元素個數

public int size()

//返回乙個布林值,表示堆中是否為空

public boolean isempty()

//返回完全二叉樹的陣列表示中,乙個索引所代表的元素的父親節點的索引

private int parent(int index)

//返回完全二叉樹的陣列表示中,乙個索引所表示的元素的左孩子節點的索引

private int leftchild(int index)

//返回完全二叉樹的陣列表示中,乙個索引所表示的元素的右孩子節點的索引

private int rightchild(int index)

}

STL 棧,佇列,優先佇列

stl 棧 include includeusing namespace std struct node int main stackroot struct node x,y x.value 3 y.value 4 root.push x root.push y while root.empty r...

C STL 棧 佇列 優先佇列

棧 後進先出 last in first out lifo 標頭檔案 stack stack stack int s 棧的基本操作 s.empty 如果棧為空返回true,否則返回false s.size 返回棧中元素的個數 s.pop 刪除棧頂元素但不返回其值 s.top 返回棧頂的元素,但不刪除...

棧 佇列與優先佇列

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