算法學(xué)習(xí)
C++ 及算法
C++博客
首頁
新隨筆
聯(lián)系
管理
最小堆的實現(xiàn)(c++模板)
#define
MAXN 10000
template
<
typename Type
>
class
Heap
{
private
:
int
size;
Type data[MAXN
+
1
];
void
siftdown(
int
pos );
public
:
Heap();
void
push( Type key );
Type pop();
void
make_heap();
bool
empty();
void
clear();
int
get_size();
}
;
template
<
typename Type
>
Heap
<
Type
>
::Heap()
{
size
=
0
; }
template
<
typename Type
>
int
Heap
<
Type
>
::get_size()
{
return
size; }
template
<
typename Type
>
bool
Heap
<
Type
>
::empty()
{
return
size
==
0
;}
template
<
typename Type
>
void
Heap
<
Type
>
::clear()
{
size
=
0
; }
template
<
typename Type
>
void
Heap
<
Type
>
::siftdown(
int
pos )
{
while
( pos
<<
1
<=
size )
{
int
t
=
pos
<<
1
;
if
( (pos
<<
1
)
+
1
<=
size
&&
data[(pos
<<
1
)
+
1
]
<
data[t] ) t
=
(pos
<<
1
)
+
1
;
if
( data[t]
<
data[pos] )
{
Type tmp
=
data[t]; data[t]
=
data[pos]; data[pos]
=
tmp;
pos
=
t; }
else
break
;
}
}
template
<
typename Type
>
void
Heap
<
Type
>
::push( Type key )
{
data[
++
size]
=
key;
int
pos
=
size;
while
( pos
>
1
)
{
if
( data[pos
>>
1
]
>
data[pos] )
{
Type tmp
=
data[pos];
data[pos]
=
data[pos
>>
1
]; data[pos
>>
1
]
=
tmp;
pos
>>=
1
; }
else
break
;
}
}
template
<
typename Type
>
Type Heap
<
Type
>
::pop()
{
Type tmp
=
data[
1
]; data[
1
]
=
data[size];
data[size]
=
tmp; size
--
;
siftdown(
1
);
return
data[size
+
1
];
}
posted on 2009-04-16 18:31
Darren
閱讀(4364)
評論(4)
編輯
收藏
引用
評論:
#
re: 最小堆的實現(xiàn)(c++模板) 2009-04-16 22:57 |
打醬油
傳說中的手寫堆?Orz。。。
回復(fù)
更多評論
#
re: 最小堆的實現(xiàn)(c++模板) 2009-04-17 16:57 |
brightcoder
void make_heap()定義哪去了?
回復(fù)
更多評論
#
re: 最小堆的實現(xiàn)(c++模板) 2009-04-17 17:04 |
Darren
@brightcoder
那個應(yīng)該很好寫了,循環(huán)一次就行了。
本來是要寫的,不過發(fā)現(xiàn)一次次插入就能建堆了。
回復(fù)
更多評論
#
re: 最小堆的實現(xiàn)(c++模板)
2009-05-17 16:55 |
myo1olove
高人!!!
太敬佩你了,我已‘偷借’你好幾篇代碼了!!!
thank you
回復(fù)
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆分類
動態(tài)規(guī)劃(13)
數(shù)據(jù)結(jié)構(gòu)(11)
搜索(9)
圖論(10)
未分類(6)
ACMers
搜索
積分與排名
積分 - 110471
排名 - 231
最新隨筆
1.?換個博客,重新開始學(xué)習(xí)。。。
2.?pku 1691 Painting A Board 狀態(tài)壓縮DP
3.?HDU 1255
4.?PKU 1151
5.?2009年ACM-ICPC亞洲區(qū)預(yù)選賽共設(shè)十五個賽區(qū)如下(按現(xiàn)場賽日期排序)
6.?acmer必看的26個對acm態(tài)度
7.?ZJU 3228 Searching the String ( AC 自動機 )
8.?Pku 3169 Layout
9.?Pku 1986 Distance Queries
10.?Pku 1276 Cash Machine
最新評論
1.?re: AVL樹的插入和刪除操作
評論內(nèi)容較長,點擊標題查看
--jasonkent27@163.com
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 Darren
国产亚州精品女人久久久久久
|
国产AV影片久久久久久
|
久久ZYZ资源站无码中文动漫
|
久久精品草草草
|
久久久久亚洲精品无码网址
|
亚洲国产成人精品女人久久久
|
精品一久久香蕉国产线看播放
|
香港aa三级久久三级老师2021国产三级精品三级在
|
久久综合偷偷噜噜噜色
|
久久久久国产精品熟女影院
|
91精品国产91久久久久久蜜臀
|
人妻少妇精品久久
|
国内精品九九久久久精品
|
热RE99久久精品国产66热
|
99久久国产综合精品麻豆
|
久久久久国产精品人妻
|
97精品国产97久久久久久免费
|
99久久国产综合精品女同图片
|
狠狠人妻久久久久久综合
|
日韩人妻无码精品久久久不卡
|
欧美激情精品久久久久久久
|
天天综合久久久网
|
国产精品久久亚洲不卡动漫
|
色8久久人人97超碰香蕉987
|
无码任你躁久久久久久老妇
|
蜜桃麻豆www久久
|
99精品久久精品
|
av国内精品久久久久影院
|
亚洲国产精品无码久久一线
|
日本久久久久久久久久
|
国产伊人久久
|
久久久91人妻无码精品蜜桃HD
|
久久久久久狠狠丁香
|
久久久久久午夜成人影院
|
国内精品久久久人妻中文字幕
|
无码人妻久久一区二区三区
|
久久91这里精品国产2020
|
久久99精品国产麻豆不卡
|
日本道色综合久久影院
|
欧美久久精品一级c片片
|
亚洲狠狠久久综合一区77777
|