優先順序佇列

2021-06-03 23:36:17 字數 987 閱讀 8017

分為最小優先順序佇列和最大優先順序佇列。

優先順序佇列是一種用來維護一組元素構成的集合s的資料結構,這一組元素都有乙個關鍵字key,乙個最大優先順序佇列支援的操作:

insert(s,x);把x插入到集合s中

maxmum(s);返回s中最大元素

extra_max(s);去掉s中最大關鍵字並返回該最大關鍵子

increase_key(s,x,k);將元素x的關鍵字的值增加到k,這裡k的值不小於x的關鍵字。

#include#include#includeusing namespace std;

int n;

void max_heapify(int *v,int i);

void heapsort();

void build_max_heap(int *v)

void input(int *v)

void output(int *v) }

void max_heapify_effective(int *v,int i)//非遞迴演算法

else break;}}

void heap_increase_key(int *v,int i,int key)//將堆中位置為i的元素改為key並保持最大堆的性質

for(int i=0;i<=m;++i)

cout<>i;

//max_heapify(v,i);

output(v);

cout<>a>>key;

heap_increase_key(v,a,key);

output(v);

cout<<"please input the insert key:"<>key;

max_heap_insert(v,key);

output(v);

heapsort(v);

//max_heapify_effective(v,i);

return 0;

}

佇列 優先順序佇列

優先順序佇列的隊尾是不需要改變的,永遠在低下標處。當佇列增加資料時,隊頭的位置就是資料項的大小減去1.public class priorityq 插入 public void insert long item else quearray j 1 item nitem 刪除 public long ...

優先順序佇列

1 include stdafx.h 2 include3 4 using namespace std 5 6 define max heap len 107 int heap max heap len 8 int heap size 0 the number of elements in heap...

優先順序佇列

堆乙個很常見的應用 作為高效的優先順序佇列。如堆一樣,佇列也有兩種 最大優先順序佇列和最小優先順序佇列。優先順序佇列是一種用來維護由一組元素構成的集合s的資料結構,這一組元素中的每乙個都有乙個關鍵字key。乙個最大優先順序佇列支援以下操作 最大優先順序佇列的乙個應用是在一台分時計算機上進行作業排程。...