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ù)結構(10)
文章檔案
2008年11月 (1)
2008年10月 (3)
2008年9月 (10)
2008年7月 (1)
2008年6月 (13)
相冊
圖示
C++語言
C++的羅浮宮
搜索
最新評論
1.?re: 卸載遠程線程中的DLL
水平很高,學習了。
--王小亮
2.?re: 卸載遠程線程中的DLL
評論內容較長,點擊標題查看
--疑問
3.?re: NASM 與 VC 混合編程的小結
收下了
--5545645
4.?re: VC++內聯(lián)匯編(MSDN相關內容完整翻譯)
謝謝
--5545645
5.?re: 安全密碼框的設計
評論內容較長,點擊標題查看
--徐胖子
閱讀排行榜
1.?VC++內聯(lián)匯編(MSDN相關內容完整翻譯)(9280)
2.?保護模式與實模式的切換(8040)
3.?安全密碼框的設計(4981)
4.?NASM 與 VC 混合編程的小結(3927)
5.?SYSENTER指令相關(大段的轉載-_-)(3634)
評論排行榜
1.?通過虛函數(shù)表訪問私有虛函數(shù)(10)
2.?安全密碼框的設計(8)
3.?保護模式與實模式的切換(4)
4.?VC++內聯(lián)匯編(MSDN相關內容完整翻譯)(1)
5.?NASM 與 VC 混合編程的小結(1)
單向帶頭結點循環(huán)鏈表實現(xiàn)
1
1
#ifndef LIST_H
2
#define
LIST_H
3
#include
<
iostream
>
4
//
鏈表節(jié)點
5
template
<
class
T
>
6
class
ListNode
7
{
8
public
:
9
ListNode(ListNode
<
T
>*
nextnode
=
0
,
const
T
&
val
=
T())
10
{
11
data
=
val;
12
next
=
nextnode;
13
}
14
public
:
15
T data;
16
ListNode
<
T
>
*
next;
17
18
}
;
19
20
//
鏈表實現(xiàn)
21
template
<
class
T
>
22
class
List
23
{
24
25
public
:
26
List();
27
virtual
~
List();
28
void
Insert_Front(
const
T
&
e);
//
向表頭插入節(jié)點
29
void
Insert_End(
const
T
&
e);
//
向表尾插入節(jié)點
30
ListNode
<
T
>*
Find(
const
T
&
e);
//
查找指定節(jié)點
31
bool
Delete(
const
T
&
e);
//
刪除指定節(jié)點
32
List
<
T
>&
Delete_All();
//
刪除除了頭結點以外的所有節(jié)點
33
bool
IsEmpty();
//
測試鏈表是否為空
34
bool
Size()
const
{
return
size;}
//
返回鏈表中的節(jié)點數(shù)目
35
void
OutPut();
36
37
private
:
38
ListNode
<
T
>*
front,
*
rear,
*
head;
//
頭指針與尾指針
39
int
size;
//
鏈表元素節(jié)點數(shù)目
40
}
;
41
42
43
44
45
//
---------------------------------------------------------------------
46
template
<
class
T
>
47
List
<
T
>
::
~
List()
48
{
49
Delete_All();
50
delete head;
51
52
}
53
//
---------------------------------------------------------------------
54
template
<
class
T
>
55
List
<
T
>
::List()
56
{
57
//
構造頭接點
58
head
=
new
ListNode
<
T
>
();
59
front
=
rear
=
head;
60
head
->
next
=
head;
61
}
62
63
//
---------------------------------------------------------------------
64
template
<
class
T
>
65
void
List
<
T
>
::Insert_Front(
const
T
&
e)
66
{
67
ListNode
<
T
>
*
NewNode
=
new
ListNode
<
T
>
(
0
,e);
68
if
(front
->
next
==
head)
//
如果鏈表為空
69
{
70
71
front
->
next
=
NewNode;
72
NewNode
->
next
=
head;
73
rear
=
NewNode;
74
}
75
else
//
鏈表不為空
76
{
77
NewNode
->
next
=
front
->
next;
78
front
->
next
=
NewNode;
79
}
80
++
size;
81
}
82
//
---------------------------------------------------------------------
83
template
<
class
T
>
84
void
List
<
T
>
::Insert_End(
const
T
&
e)
85
{
86
ListNode
<
T
>
*
NewNode
=
new
ListNode
<
T
>
(
0
,e);
87
if
(front
->
next
==
head)
//
如果鏈表為空
88
{
89
90
front
->
next
=
NewNode;
91
NewNode
->
next
=
head;
92
rear
=
NewNode;
93
}
94
else
//
鏈表不為空
95
{
96
rear
->
next
=
NewNode;
97
NewNode
->
next
=
head;
98
rear
=
NewNode;
99
100
}
101
++
size;
102
}
103
//
---------------------------------------------------------------------
104
template
<
class
T
>
105
ListNode
<
T
>*
List
<
T
>
::Find(
const
T
&
e)
106
{
107
head
->
data
=
e;
108
ListNode
<
T
>
*
move
=
front
->
next;
109
while
(move
->
data
!=
e)
110
{
111
move
=
move
->
next;
112
}
113
114
if
(move
==
front)
return
NULL;
115
else
116
return
move;
117
}
118
119
//
---------------------------------------------------------------------
120
template
<
class
T
>
121
bool
List
<
T
>
::Delete(
const
T
&
e)
122
{
123
head
->
data
=
e;
124
ListNode
<
T
>
*
move
=
front
->
next;
125
ListNode
<
T
>
*
pmove
=
head;
126
while
(move
->
data
!=
e)
127
{
128
pmove
=
move;
129
move
=
move
->
next;
130
}
131
if
(move
==
head)
return
false
;
//
未找到節(jié)點
132
pmove
->
next
=
move
->
next;
133
if
(move
==
rear)
//
如果為尾節(jié)點則修改尾指針
134
rear
=
pmove;
135
delete move;
136
return
true
;
137
}
138
139
//
---------------------------------------------------------------------
140
template
<
class
T
>
141
void
List
<
T
>
::OutPut()
142
{
143
ListNode
<
T
>
*
move
=
front
->
next;
144
while
(move
!=
head)
145
{
146
cout
<<
move
->
data
<<
"
"
;
147
move
=
move
->
next;
148
}
149
cout
<<
endl;
150
}
151
//
---------------------------------------------------------------------
152
template
<
class
T
>
153
List
<
T
>&
List
<
T
>
::Delete_All()
154
{
155
ListNode
<
T
>
*
movenext,
*
move
=
front
->
next;
156
157
while
(move
!=
head)
158
{
159
movenext
=
move
->
next;
160
delete move;
161
move
=
movenext;
162
}
163
front
=
rear
=
head;
164
head
->
next
=
head;
165
166
return
*
this
;
167
}
168
//
---------------------------------------------------------------------
169
template
<
class
T
>
170
bool
List
<
T
>
::IsEmpty()
171
{
172
173
if
(head
->
next
=
head)
return
true
;
174
else
175
return
false
;
176
}
177
#endif
posted on 2008-09-18 20:54
楊彬彬
閱讀(1744)
評論(0)
編輯
收藏
引用
所屬分類:
數(shù)據(jù)結構
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關文章:
循環(huán)隊列實現(xiàn)
數(shù)據(jù)結構棧簡單實現(xiàn)(基于鏈表)
棧結構簡單實現(xiàn)(基于數(shù)組)
單向帶頭結點循環(huán)鏈表實現(xiàn)
關于紅黑樹(r-b樹)的相關資料
二叉搜索樹實現(xiàn)
二叉樹實現(xiàn)
最大高度優(yōu)先左高樹(HBLT)實現(xiàn)
最大堆實現(xiàn)
鏈表類---轉載
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 楊彬彬 Powered by:
博客園
模板提供:
滬江博客
久久天天躁狠狠躁夜夜网站
|
久久精品水蜜桃av综合天堂
|
久久青青草原综合伊人
|
国产一区二区久久久
|
久久久久这里只有精品
|
天天爽天天爽天天片a久久网
|
久久国产精品无码一区二区三区
|
一本色道久久99一综合
|
久久伊人精品一区二区三区
|
欧美亚洲国产精品久久久久
|
狠狠色丁香婷婷久久综合五月
|
久久精品国产欧美日韩99热
|
欧美无乱码久久久免费午夜一区二区三区中文字幕
|
99麻豆久久久国产精品免费
|
国产成人综合久久综合
|
久久久精品一区二区三区
|
国产亚洲精午夜久久久久久
|
久久亚洲天堂
|
久久夜色精品国产噜噜亚洲AV
|
精品久久久久久久久中文字幕
|
伊人久久精品无码av一区
|
精品久久久久久国产
|
久久婷婷五月综合97色一本一本
|
久久久精品人妻一区二区三区蜜桃
|
久久99精品国产麻豆
|
大蕉久久伊人中文字幕
|
91麻豆国产精品91久久久
|
国产一区二区三区久久精品
|
久久国产免费直播
|
亚洲精品无码久久久久久
|
久久成人精品视频
|
伊人久久大香线蕉综合网站
|
久久精品亚洲一区二区三区浴池
|
久久免费线看线看
|
午夜精品久久久久
|
国产精品久久久久久吹潮
|
久久国产福利免费
|
久久综合给久久狠狠97色
|
久久99热这里只有精品国产
|
久久无码人妻一区二区三区午夜
|
久久夜色精品国产亚洲
|