算法學(xué)習(xí)
C++ 及算法
C++博客
首頁(yè)
新隨筆
聯(lián)系
管理
最小堆的實(shí)現(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
閱讀(4360)
評(píng)論(4)
編輯
收藏
引用
評(píng)論:
#
re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-04-16 22:57 |
打醬油
傳說(shuō)中的手寫(xiě)堆?Orz。。。
回復(fù)
更多評(píng)論
#
re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-04-17 16:57 |
brightcoder
void make_heap()定義哪去了?
回復(fù)
更多評(píng)論
#
re: 最小堆的實(shí)現(xiàn)(c++模板) 2009-04-17 17:04 |
Darren
@brightcoder
那個(gè)應(yīng)該很好寫(xiě)了,循環(huán)一次就行了。
本來(lái)是要寫(xiě)的,不過(guò)發(fā)現(xiàn)一次次插入就能建堆了。
回復(fù)
更多評(píng)論
#
re: 最小堆的實(shí)現(xiàn)(c++模板)
2009-05-17 16:55 |
myo1olove
高人!!!
太敬佩你了,我已‘偷借’你好幾篇代碼了!!!
thank you
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
留言簿
(5)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
動(dòng)態(tài)規(guī)劃(13)
數(shù)據(jù)結(jié)構(gòu)(11)
搜索(9)
圖論(10)
未分類(6)
ACMers
搜索
積分與排名
積分 - 110018
排名 - 231
最新隨筆
1.?換個(gè)博客,重新開(kāi)始學(xué)習(xí)。。。
2.?pku 1691 Painting A Board 狀態(tài)壓縮DP
3.?HDU 1255
4.?PKU 1151
5.?2009年ACM-ICPC亞洲區(qū)預(yù)選賽共設(shè)十五個(gè)賽區(qū)如下(按現(xiàn)場(chǎng)賽日期排序)
6.?acmer必看的26個(gè)對(duì)acm態(tài)度
7.?ZJU 3228 Searching the String ( AC 自動(dòng)機(jī) )
8.?Pku 3169 Layout
9.?Pku 1986 Distance Queries
10.?Pku 1276 Cash Machine
最新評(píng)論
1.?re: AVL樹(shù)的插入和刪除操作
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--jasonkent27@163.com
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 Darren
一级做a爰片久久毛片看看
|
国产精品美女久久久久网
|
18岁日韩内射颜射午夜久久成人
|
久久精品国产一区
|
久久久免费精品re6
|
亚洲中文久久精品无码ww16
|
亚洲欧洲久久久精品
|
99热都是精品久久久久久
|
精品亚洲综合久久中文字幕
|
99久久er这里只有精品18
|
蜜桃麻豆WWW久久囤产精品
|
2021国产精品久久精品
|
一本色道久久综合
|
99精品久久精品一区二区
|
狠狠综合久久综合88亚洲
|
伊人久久大香线蕉综合Av
|
99久久无色码中文字幕人妻
|
国产成人精品三上悠亚久久
|
国产A三级久久精品
|
久久久久高潮毛片免费全部播放
|
久久国产亚洲高清观看
|
久久亚洲精精品中文字幕
|
久久不见久久见免费视频7
|
国产精品久久久久久影院
|
欧美日韩中文字幕久久伊人
|
品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美
|
色综合久久精品中文字幕首页
|
欧美精品一本久久男人的天堂
|
精品久久久久久无码国产
|
www亚洲欲色成人久久精品
|
国内精品伊人久久久久影院对白
|
免费一级欧美大片久久网
|
久久AⅤ人妻少妇嫩草影院
|
日本精品一区二区久久久
|
色狠狠久久AV五月综合
|
久久国产高清字幕中文
|
天天影视色香欲综合久久
|
亚洲国产另类久久久精品小说
|
女人香蕉久久**毛片精品
|
伊人情人综合成人久久网小说
|
久久91精品久久91综合
|