大胖的部落格
Just a note
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
<
2009年7月
>
日
一
二
三
四
五
六
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
8
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
Algorithm(13)
(rss)
C#(13)
(rss)
C++(22)
(rss)
Design Pattern(23)
(rss)
Others(14)
(rss)
STL(9)
(rss)
Technical(2)
(rss)
UML(2)
(rss)
Win32(18)
(rss)
Reference
Windows XP command line
最新评论
1. re: 在TCL命令行中调用C函数
@Kenny
实在不好意思,时间太过久远,本人已好久没有接触TCL……
--大胖
2. re: 在TCL命令行中调用C函数
請問如何溝通array 變數
Q:1
tcl array in C
Q:2
C array in tcl
懇求指導
--Kenny
3. re: 在TCL命令行中调用C函数
谢谢!
--1232
数据结构 ---- 线性表
#include
<
iostream
>
using
namespace
std;
template
<
class
T
>
class
LinearList
{
public
:
LinearList(
int
iSize
=
10
);
virtual
~
LinearList();
bool
IsEmpty();
int
Length();
bool
Find(
int
i, T
&
t)
const
;
//
返回第i个元素至t中
int
Search(
const
T
&
t)
const
;
//
返回t所在位置
LinearList
&
Delete(
int
i, T
&
t);
//
删除第i个元素并将它返回至t中
LinearList
&
Insert(
int
i,
const
T
&
t);
//
在第i个元素之后插入t
void
Output(ostream
&
out
)
const
;
private
:
int
m_Length;
int
m_MaxSize;
T
*
m_pElement;
}
;
template
<
class
T
>
LinearList
<
T
>
::LinearList(
int
iSize)
:m_MaxSize(iSize)
{
m_Length
=
0
;
m_pElement
=
new
T[m_MaxSize];
}
template
<
class
T
>
LinearList
<
T
>
::
~
LinearList()
{
delete []m_pElement;
}
template
<
class
T
>
inline
bool
LinearList
<
T
>
::IsEmpty()
{
return
(
0
==
m_Length);
}
template
<
class
T
>
inline
int
LinearList
<
T
>
::Length()
{
return
m_Length;
}
template
<
class
T
>
bool
LinearList
<
T
>
::Find(
int
i, T
&
t)
const
{
if
((i
<
1
)
||
(i
>
m_Length))
{
return
false
;
}
t
=
m_pElement[i
-
1
];
return
true
;
}
template
<
class
T
>
int
LinearList
<
T
>
::Search(
const
T
&
t)
const
{
for
(
int
i
=
0
; i
<
m_Length:
++
i)
{
if
(m_pElement[i]
==
t)
{
return
i
+
1
;
}
}
return
0
;
}
template
<
class
T
>
LinearList
<
T
>&
LinearList
<
T
>
::Delete(
int
i, T
&
t)
{
if
((i
>
0
)
&&
(i
<
m_Length
+
1
))
{
t
=
m_pElement[i
-
1
];
for
(
int
j
=
i; j
<
m_Length;
++
j)
{
m_pElement[i
-
1
]
=
m_pElement[i];
}
m_Length
--
;
}
return
*
this
;
}
template
<
class
T
>
LinearList
<
T
>&
LinearList
<
T
>
::Insert(
int
i,
const
T
&
t)
{
if
((m_Length
<
m_MaxSize)
&&
(i
>=
0
)
&&
(i
<
m_Length
+
1
))
{
for
(
int
j
=
m_Length; j
>
i;
--
j)
{
m_pElement[j]
=
m_pElement[j
-
1
];
}
m_pElement[i]
=
t;
m_Length
++
;
}
return
*
this
;
}
template
<
class
T
>
void
LinearList
<
T
>
::Output(ostream
&
out
)
const
{
for
(
int
i
=
0
; i
<
m_Length;
++
i)
{
out
<<
m_pElement[i]
<<
"
"
;
}
}
//
重载全局的<<
template
<
class
T
>
ostream
&
operator
<<
(ostream
&
out
, LinearList
<
T
>&
x)
{
x.Output(
out
);
return
out
;
}
void
main()
{
LinearList
<
char
>
lList(
11
);
lList.Insert(
0
,
'
a
'
);
lList.Insert(
1
,
'
b
'
);
lList.Insert(
2
,
'
c
'
);
cout
<<
lList
<<
endl;
}
posted on 2009-06-29 10:46
大胖
阅读(238)
评论(0)
编辑
收藏
引用
所属分类:
Algorithm
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
尾递归
链表操作
哈希表
内部排序算法
数据结构 ---- 堆栈
数据结构 ---- 队列
数据结构 ---- 线性表
数据结构 ---- 单向链表
字符串逆转
计算n!的位数
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © 大胖