寻道
探寻程序之道,软件之道,生存之道,生活之道及生命之道。
BlogJava
首页
新随笔
联系
聚合
管理
192 Posts :: 1 Stories :: 342 Comments :: 0 Trackbacks
公告
MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
(211)
Ajax(3)
DB(1)
HTML,CSS&JS(14)
Java API(5)
JavaScript(5)
Java基础(39)
JMS(3)
Maven2之旅(13)
My way(3)
Object Orient Programming(33)
SSH(6)
Swing(9)
Web开发(15)
个人作品(13)
开源包使用(1)
算法数据结构(27)
线程Thread(3)
随想录(18)
随笔档案
(117)
2008年10月 (2)
2008年9月 (11)
2008年8月 (8)
2008年7月 (10)
2008年6月 (8)
2008年5月 (7)
2008年4月 (9)
2008年3月 (6)
2008年2月 (2)
2008年1月 (5)
2007年12月 (7)
2007年11月 (3)
2007年10月 (3)
2007年9月 (5)
2007年8月 (7)
2007年7月 (4)
2007年6月 (20)
个人软件下载
Sql Anywhere在华军的下载页面
SqlToolBox
文件批量命名器在华军的下载页面
目录文件比较器在华军的下载页面
我的其它博客
我的邻居们
BeanSoft's Java Blog
BlueDavy之技术Blog
CowNew开源团队
DANCE WITH JAVA
David.Turing's blog
fastpace
itkui的博客
Java快速开发平台
Java杂家
Jiangshachina
liaojiyong
Long的博客
Max On Java
mycsdnc#blog
Steady's Java Zone
sterning
zkjbeyond
信拈妙偶
千里冰封
和风细雨
寻道
山风小子的博客
庄周梦蝶
朱远翔 的博客
每日一得
点燃闪电
生活源于奋斗不息
翠湖月色
蛟龍居
谈笑有鸿儒,往来无白丁
铁手剑谱
鱼上游
最新随笔
1. 使用CSS设置表格二
2. VBA系列讲义
3. 使用CSS设置表格
4. 工字型布局的两种形式及其制法
5. 使用无序列表制作导航菜单
6. CSS固定宽度两栏居中示例
7. CSS可变宽度两栏式布局例子
8. 数据库设计三范式应用实战
9. 表单的设计浅谈
10. 分页技术及其实现
搜索
积分与排名
积分 - 137726
排名 - 56
最新评论
1. re: 二叉树搜索树代码
老兄,二叉树有没有实际应用的实例。
--sclsch
2. re: 使用CSS设置表格
评论内容较长,点击标题查看
--sitinspring
3. re: 使用CSS设置表格
评论内容较长,点击标题查看
--sclsch
4. re: 使用CSS设置表格
不错不错!!
--日月雨林@gmail.com
5. re: 数据库设计三范式应用实战
支持,这才叫做原创!
--YZ
阅读排行榜
1. Dom4j下载及使用Dom4j读写XML简介(3370)
2. 使用commons-fileupload实现单个和多个文件上传(2831)
3. 三种权限设计方案的归纳和比较(2594)
4. JTable常见用法细则(2517)
5. 使用CSS实现侧边Tab菜单栏(1968)
评论排行榜
1. SqlToolBox 1.60发布,介绍及使用(18)
2. 程序员之路探究(14)
3. 三种权限设计方案的归纳和比较(11)
4. 设计构建一个软件程序的基本步骤探讨(10)
5. 使用CSS实现侧边Tab菜单栏(8)
60天内阅读排行
1. 分页技术及其实现(1494)
2. 表单的设计浅谈(1247)
3. 数据库设计三范式应用实战(1223)
4. 应用程序的层次浅谈(1220)
5. 使用无序列表制作导航菜单(1045)
泛型单链表类
package
com.sitinspring;
/** */
/**
* 单链表节点类
*
@author
: sitinspring(junglesong@gmail.com)
* @date: 2008-7-1-下午10:42:49
*
@param
<T>
*/
class
Node
<
T
extends
Object
>
{
protected
T value;
protected
Node next;
}
/** */
/**
* 单链表类
*
@author
: sitinspring(junglesong@gmail.com)
* @date: 2008-7-1-下午10:42:37
*
@param
<T>
*/
public
class
ChainList
<
T
extends
Object
>
{
private
Node
<
T
>
first;
public
void
addTail(T t)
{
Node
<
T
>
newNode
=
new
Node
<
T
>
();
newNode.value
=
t;
if
(first
==
null
)
{
first
=
newNode;
}
else
{
Node
<
T
>
curr
=
first;
while
(curr.next
!=
null
)
{
curr
=
curr.next;
}
curr.next
=
newNode;
}
}
public
void
addHead(T t)
{
Node
<
T
>
newNode
=
new
Node
<
T
>
();
newNode.value
=
t;
newNode.next
=
first;
first
=
newNode;
}
public
int
size()
{
int
size
=
0
;
Node
<
T
>
curr
=
first;
while
(curr
!=
null
)
{
size
++
;
curr
=
curr.next;
}
return
size;
}
public
T get(
int
index)
{
if
(index
<
0
)
{
throw
new
IllegalArgumentException(
"
下标不能是负数
"
);
}
else
{
Node
<
T
>
curr
=
first;
while
(curr
!=
null
)
{
if
(index
==
0
)
{
return
curr.value;
}
index
--
;
curr
=
curr.next;
}
throw
new
NullPointerException();
}
}
public
void
remove(
int
index)
{
if
(index
<
0
)
{
throw
new
IllegalArgumentException(
"
下标不能是负数
"
);
}
else
{
if
(index
==
0
)
{
Node
<
T
>
next
=
first.next;
first
=
next;
}
else
{
Node
<
T
>
curr
=
first;
Node
<
T
>
prev
=
curr;
while
(curr
!=
null
)
{
if
(index
==
0
)
{
prev.next
=
curr.next;
return
;
}
index
--
;
prev
=
curr;
curr
=
curr.next;
}
throw
new
NullPointerException();
}
}
}
public
void
display()
{
System.out.print(
"
链表元素有
"
);
Node
<
T
>
curr
=
first;
while
(curr
!=
null
)
{
System.out.print(curr.value
+
"
,
"
);
curr
=
curr.next;
}
System.out.println();
}
public
static
void
main(String[] args)
{
ChainList
<
String
>
ls
=
new
ChainList
<
String
>
();
ls.addTail(
"
A
"
);
ls.addTail(
"
B
"
);
ls.addTail(
"
C
"
);
ls.display();
ls.addHead(
"
1
"
);
ls.display();
System.out.println(
"
数组长度为:
"
+
ls.size());
System.out.println(
"
第三个元素为:
"
+
ls.get(
2
));
for
(
int
i
=
0
;i
<
ls.size();i
++
)
{
System.out.println(
"
第
"
+
(i
+
1
)
+
"
个元素为:
"
+
ls.get(i));
}
ls.addTail(
"
E
"
);
ls.addTail(
"
F
"
);
ls.remove(
0
);
ls.display();
ls.remove(
1
);
ls.display();
ls.remove(ls.size()
-
1
);
ls.display();
for
(
int
i
=
0
;i
<
ls.size();i
++
)
{
System.out.println(
"
第
"
+
(i
+
1
)
+
"
个元素为:
"
+
ls.get(i));
}
}
}
posted on 2008-07-01 22:44
sitinspring
阅读(124)
评论(0)
编辑
收藏
所属分类:
算法数据结构
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
用递归和扫描解决称球问题
二叉树搜索树代码
蔓延法判断两个城市的连接状态
八皇后回溯版
轮圈数数退出问题
泛型单链表类
泛型动态数组类
整形数组实用类,用于求两数组的并交差集
求两字符串的公共子串
不使用中间变量交换两个整型值的方法
Powered by:
BlogJava
Copyright © sitinspring
sitinspring(http://www.blogjava.net)原创,转载请注明出处.