Heap的插入和刪除 C語言

2021-10-05 16:54:53 字數 801 閱讀 7937

堆heap用完全二叉樹儲存

其特點是:根的數都大於每個子節點的數

typedef

struct heapstruct *maxheap;

typedef

int elementtype;

struct heapstruct

;

下面是建立操作:

maxheap create

(int maxsize)

插入時要抓住子節點序號 / 2 =父節點序號的特點

void

insert

(maxheap h,elementtype item)

i =++h->size;

while

(item > h->d[i/2]

) h->d[i]

= item;

}

刪除操作:

void

delete

(maxheap h)

maitem = h->d[1]

; tmp = h->d[h->size--];

for(parent =

1;parent*

2<= h->size;parent = child)

if(tmp >= h->d[child]

)break;}

h->d[parent]

= tmp;

return maxitem;

}

C語言鍊錶的插入和刪除 建立

choicetxt.h 執行要重複的 選擇執行的醒目並將結果付給choice include stdio.h int choicetxt int choice else creat.c include stdio.h include stdlib.h include define.h extern ...

C 容器插入和刪除

插入方法 1.vector list的insert用法 1 iterator insert iterator loc,const type val 2 void insert iterator loc,size type num,const type val 3 void insert iterat...

順序表的插入 刪除和查詢演算法 C語言

後續的各種順序表運算都要用,親測沒問題 include include include define ok 1 define error 1 define overflow 0 define list init size 100 初始分配長度為100 define listincrement 10 ...