堆的一些簡單操作

2022-08-22 13:15:14 字數 1069 閱讀 5555

僅僅是記錄一下自己寫過的堆操作的**,個人覺得堆的優勢在於建立和獲取最小或者最大元的方便,有任何次序要求的演算法,堆並不合適。

#include #include 

#include

typedef

struct

_priorityqueue

priorityqueue;

void printpriorityqueue(priorityqueue *pq)

priorityqueue* percolateup(priorityqueue *pq,int

i)priorityqueue* percolatedown(priorityqueue* pq,int

i)

else

}pq->member[i] =tmp;

return

pq;}

priorityqueue* initialize(int capacity,int current,int *a)

memset(tmp->member,0,sizeof(int)*(capacity+1

)); tmp->member[0] = -1

;

for(i=1;i1;i++)

tmp->member[i] = a[i-1

];

for(i = tmp->currentsize/2;i>0;i--)

return

tmp;

}priorityqueue *insert(priorityqueue *pq,int

m)int deletemin(priorityqueue *pq)

int findmin(priorityqueue *pq)

intmain()

; priorityqueue *pq = initialize(31,15

,a);

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

printf(

"%d\t

",deletemin(pq));

while(1

);}

堆相關的一些操作

include includeusing namespace std const int maxn 100 heap為堆,n為元素個數 int heap maxn n 10 對heap陣列在 low,high 範圍進行向下調整 其中low為欲調整結點的陣列下標,high一般為堆的最後乙個元素的陣列下...

堆的一些基本操作實現

關於建堆和對其的一些操作 include include using namespace std const int maxn 100 int heap maxn n 10 將第乙個結點儲存在陣列的一號位 函式功能 對heap陣列在low到high的範圍內向下調整 void downadjust i...

JQuery 一些簡單的操作

jquery 就是一些方法的封裝,類似jar包。匯入後,能夠直接呼叫的方法。如下 一般匯入壓縮包,原始碼留給自己看吧 0 0 document ready function 這個相當於window。onload functions 等待系統載入完全才執行的 jquery 中封裝了document.g...