xingkongyun
星空隕的程序小站
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆 - 8 文章 - 26 trackbacks - 0
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2009年12月 (1)
2009年9月 (1)
2009年4月 (1)
2008年12月 (1)
2008年11月 (1)
2008年10月 (2)
2008年9月 (1)
文章分類
C++語言(6)
Directx(1)
STL(2)
VC++
Windows編程(4)
操作系統(tǒng)(4)
數(shù)據(jù)結(jié)構(gòu)(10)
文章檔案
2008年11月 (1)
2008年10月 (3)
2008年9月 (10)
2008年7月 (1)
2008年6月 (13)
相冊
圖示
C++語言
C++的羅浮宮
搜索
最新評論
1.?re: 卸載遠程線程中的DLL
水平很高,學習了。
--王小亮
2.?re: 卸載遠程線程中的DLL
評論內(nèi)容較長,點擊標題查看
--疑問
3.?re: NASM 與 VC 混合編程的小結(jié)
收下了
--5545645
4.?re: VC++內(nèi)聯(lián)匯編(MSDN相關(guān)內(nèi)容完整翻譯)
謝謝
--5545645
5.?re: 安全密碼框的設計
評論內(nèi)容較長,點擊標題查看
--徐胖子
閱讀排行榜
1.?VC++內(nèi)聯(lián)匯編(MSDN相關(guān)內(nèi)容完整翻譯)(9280)
2.?保護模式與實模式的切換(8040)
3.?安全密碼框的設計(4981)
4.?NASM 與 VC 混合編程的小結(jié)(3927)
5.?SYSENTER指令相關(guān)(大段的轉(zhuǎn)載-_-)(3634)
評論排行榜
1.?通過虛函數(shù)表訪問私有虛函數(shù)(10)
2.?安全密碼框的設計(8)
3.?保護模式與實模式的切換(4)
4.?VC++內(nèi)聯(lián)匯編(MSDN相關(guān)內(nèi)容完整翻譯)(1)
5.?NASM 與 VC 混合編程的小結(jié)(1)
鏈表類---轉(zhuǎn)載
#ifndef LIST_H
#define LIST_H
template
<
typename elemtype
>
class
list_item
{
public
:
list_item( elemtype, list_item
<
elemtype
>*
);
list_item(
const
list_item
<
elemtype
>&
);
const
elemtype date ()
const
;
const
list_item
<
elemtype
>*
next()
const
;
void
get_date (
const
elemtype );
void
get_next (
const
list_item
<
elemtype
>*
);
void
operator
=
(
const
list_item
<
elemtype
>&
);
private
:
elemtype _date;
list_item
<
elemtype
>
*
_next;
}
;
//
單鏈表數(shù)據(jù)項類
//
數(shù)據(jù)項類代碼實現(xiàn)
template
<
typename elemtype
>
list_item
<
elemtype
>
::list_item( elemtype ia
=
0
,
list_item
<
elemtype
>
*
p
=
0
)
{
get_date( ia );
if
( p
==
NULL )
get_next( NULL );
else
{
get_next( p
->
next() );
p
->
get_next(
this
);
}
}
template
<
typename elemtype
>
const
elemtype
list_item
<
elemtype
>
::date()
const
{
return
_date;
}
template
<
typename elemtype
>
const
list_item
<
elemtype
>*
list_item
<
elemtype
>
::
next()
const
{
return
_next;
}
template
<
typename elemtype
>
void
list_item
<
elemtype
>
::get_date(
const
elemtype de )
{
_date
=
de;
}
template
<
typename elemtype
>
void
list_item
<
elemtype
>
::
get_next(
const
list_item
<
elemtype
>
*
pev )
{
_next
=
( list_item
<
elemtype
>*
)pev;
}
template
<
typename elemtype
>
class
list
{
public
:
list();
list(
const
list
<
elemtype
>&
);
~
list();
const
int
size()
const
;
const
bool empty()
const
;
void
insert(
const
elemtype,
const
elemtype );
void
insert_front(
const
elemtype );
void
insert_end(
const
elemtype );
void
remove(
const
elemtype );
void
remove_all();
void
remove_front();
void
print()
const
;
const
list_item
<
elemtype
>*
find(
const
elemtype );
void
operator
=
(
const
list
<
elemtype
>&
);
private
:
//
void
down_size();
void
add_size();
//
list_item
<
elemtype
>
*
at_front;
list_item
<
elemtype
>
*
at_end;
list_item
<
elemtype
>
*
at_move;
int
_size;
}
;
//
鏈表類定義
//
函數(shù)實現(xiàn)代碼
//
私有函數(shù)集合
template
<
typename elemtype
>
void
list
<
elemtype
>
::add_size()
{
++
_size;
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::down_size()
{
--
_size;
}
//
公有函數(shù)集合
template
<
typename elemtype
>
list
<
elemtype
>
::list()
{
at_front
=
NULL;
at_end
=
NULL;
_size
=
0
;
}
template
<
typename elemtype
>
list
<
elemtype
>
::
~
list()
{
remove_all();
}
template
<
typename elemtype
>
const
bool list
<
elemtype
>
::empty()
const
{
return
size()
==
0
?
false
:
true
;
}
template
<
typename elemtype
>
const
int
list
<
elemtype
>
::size()
const
{
return
_size;
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::insert_front(
const
elemtype iva )
{
list_item
<
elemtype
>
*
pv
=
new
list_item
<
elemtype
>
( iva,
0
);
if
(
!
at_front )
{
at_front
=
at_end
=
pv;
}
else
{
pv
->
get_next( at_front );
at_front
=
pv;
}
add_size();
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::insert_end(
const
elemtype iva )
{
if
( at_end
==
NULL)
{
at_end
=
at_front
=
new
list_item
<
elemtype
>
( iva,
0
);
}
else
at_end
=
new
list_item
<
elemtype
>
( iva, at_end );
add_size();
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::
insert(
const
elemtype ixa,
const
elemtype iva )
{
list_item
<
elemtype
>
*
pev
=
( list_item
<
elemtype
>*
)find( iva );
if
( pev
==
NULL )
{
cerr
<<
"
err!
"
<<
endl;
return
;
}
if
( pev
==
at_front )
insert_front( ixa );
else
{
new
list_item
<
elemtype
>
( ixa, pev );
add_size();
}
}
template
<
typename elemtype
>
const
list_item
<
elemtype
>*
list
<
elemtype
>
::
find(
const
elemtype iva )
{
list_item
<
elemtype
>
*
at_move
=
at_front;
while
( at_move
!=
NULL )
{
if
( at_move
->
date()
==
iva )
return
at_move;
at_move
=
( list_item
<
elemtype
>*
)at_move
->
next();
}
return
NULL;
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::remove_front()
{
if
( at_front )
{
list_item
<
elemtype
>
*
pev
=
at_front;
at_front
=
( list_item
<
elemtype
>*
)at_front
->
next();
delete pev;
down_size();
}
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::remove( elemtype iva )
{
list_item
<
elemtype
>
*
pev
=
at_front;
while
( pev
&&
pev
->
date()
==
iva )
{
pev
=
( list_item
<
elemtype
>*
)pev
->
next();
remove_front();
}
if
(
!
pev )
return
;
list_item
<
elemtype
>
*
prv
=
pev;
pev
=
( list_item
<
elemtype
>*
)pev
->
next();
while
( pev )
{
if
( pev
->
date()
==
iva )
{
prv
->
get_next( pev
->
next() );
down_size();
delete pev;
pev
=
( list_item
<
elemtype
>*
)prv
->
next();
if
( pev
!=
NULL )
{
at_end
=
prv;
return
;
}
}
else
{
prv
=
pev;
pev
=
( list_item
<
elemtype
>*
)pev
->
next();
}
}
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::remove_all()
{
while
( at_front )
remove_front();
_size
=
0
;
at_front
=
at_end
=
NULL;
}
template
<
typename elemtype
>
void
list
<
elemtype
>
::print()
const
{
list_item
<
elemtype
>
*
pev
=
at_front;
cout
<<
'
[
'
<<
size()
<<
'
]
'
;
cout
<<
'
{
'
;
for
(
int
ix
=
0
; pev
&&
ix
<
size();
++
ix )
{
cout
<<
pev
->
date()
<<
'
'
;
pev
=
( list_item
<
elemtype
>*
)pev
->
next();
}
cout
<<
'
}
'
<<
endl;
}
#endif
轉(zhuǎn)載自:
http://www.shnenglu.com/mzty/archive/2005/10/28/870.html
posted on 2008-06-18 22:05
楊彬彬
閱讀(351)
評論(0)
編輯
收藏
引用
所屬分類:
數(shù)據(jù)結(jié)構(gòu)
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
循環(huán)隊列實現(xiàn)
數(shù)據(jù)結(jié)構(gòu)棧簡單實現(xiàn)(基于鏈表)
棧結(jié)構(gòu)簡單實現(xiàn)(基于數(shù)組)
單向帶頭結(jié)點循環(huán)鏈表實現(xiàn)
關(guān)于紅黑樹(r-b樹)的相關(guān)資料
二叉搜索樹實現(xiàn)
二叉樹實現(xiàn)
最大高度優(yōu)先左高樹(HBLT)實現(xiàn)
最大堆實現(xiàn)
鏈表類---轉(zhuǎn)載
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 楊彬彬 Powered by:
博客園
模板提供:
滬江博客
精品多毛少妇人妻AV免费久久
|
久久久久国产精品嫩草影院
|
久久99精品久久久久久噜噜
|
综合久久一区二区三区
|
伊人久久综合热线大杳蕉下载
|
久久久久国产精品嫩草影院
|
青青草原精品99久久精品66
|
国产伊人久久
|
www.久久热
|
久久精品久久久久观看99水蜜桃
|
久久久青草久久久青草
|
久久只这里是精品66
|
国产精品久久久天天影视香蕉
|
亚洲精品乱码久久久久久
|
久久久久国产日韩精品网站
|
久久99国产精品99久久
|
国产精品久久久久久久app
|
AA级片免费看视频久久
|
无码国内精品久久人妻蜜桃
|
亚洲午夜福利精品久久
|
91亚洲国产成人久久精品
|
久久久久亚洲av无码专区
|
久久久无码精品亚洲日韩京东传媒
|
久久天天躁狠狠躁夜夜躁2O2O
|
欧美伊人久久大香线蕉综合69
|
青青草国产精品久久久久
|
久久精品国产亚洲av影院
|
狠狠色综合网站久久久久久久高清
|
久久久久国色AV免费看图片
|
91超碰碰碰碰久久久久久综合
|
国产成人无码久久久精品一
|
精品久久久无码人妻中文字幕豆芽
|
久久精品国产清自在天天线
|
三级片免费观看久久
|
久久无码一区二区三区少妇
|
久久e热在这里只有国产中文精品99
|
国产亚洲欧美成人久久片
|
精品久久一区二区三区
|
久久综合九色综合97_久久久
|
久久国产精品-国产精品
|
日韩精品国产自在久久现线拍
|