寻道
探寻程序之道,软件之道,生存之道,生活之道及生命之道。
BlogJava
首页
新随笔
联系
聚合
管理
196 Posts :: 1 Stories :: 342 Comments :: 0 Trackbacks
公告
MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
(217)
Ajax(3)
DB&SQL(3)
HTML,CSS&JS(16)
Java API(6)
JavaScript(5)
Java基础(39)
JMS(3)
Maven2之旅(13)
My way(3)
Object Orient Programming(33)
SSH(6)
Swing(9)
VBA(1)
Web开发(15)
个人作品(13)
开源包使用(1)
算法数据结构(27)
线程Thread(3)
随想录(18)
随笔档案
(120)
2008年10月 (5)
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. SQL注入攻击及其防范浅谈
2. 四种CSS链接按钮示例
3. 寻章摘句
4. 使用CSS设置表格二
5. VBA系列讲义
6. 使用CSS设置表格
7. 工字型布局的两种形式及其制法
8. 使用无序列表制作导航菜单
9. CSS固定宽度两栏居中示例
10. CSS可变宽度两栏式布局例子
搜索
积分与排名
积分 - 139652
排名 - 56
最新评论
1. re: 二叉树搜索树代码
老兄,二叉树有没有实际应用的实例。
--sclsch
2. re: 使用CSS设置表格
评论内容较长,点击标题查看
--sitinspring
3. re: 使用CSS设置表格
评论内容较长,点击标题查看
--sclsch
4. re: 使用CSS设置表格
不错不错!!
--日月雨林@gmail.com
5. re: 数据库设计三范式应用实战
支持,这才叫做原创!
--YZ
阅读排行榜
1. Dom4j下载及使用Dom4j读写XML简介(3449)
2. 使用commons-fileupload实现单个和多个文件上传(2895)
3. 三种权限设计方案的归纳和比较(2622)
4. JTable常见用法细则(2529)
5. 使用CSS实现侧边Tab菜单栏(1979)
评论排行榜
1. SqlToolBox 1.60发布,介绍及使用(18)
2. 程序员之路探究(14)
3. 三种权限设计方案的归纳和比较(11)
4. 设计构建一个软件程序的基本步骤探讨(10)
5. 使用CSS实现侧边Tab菜单栏(8)
60天内阅读排行
1. 分页技术及其实现(1524)
2. 表单的设计浅谈(1266)
3. 数据库设计三范式应用实战(1249)
4. 使用无序列表制作导航菜单(1089)
5. 使用模板方法模式简化控制层类(Action)的设计(994)
轮圈数数退出问题
package
com.sitinspring.roundtable;
/** */
/**
*/
/** */
/**
* 循环链表节点类
*
@author
: sitinspring(junglesong@gmail.com)
* @date: 2008-7-1-下午10:42:49
*
@param
<T>
*/
class
Node
{
protected
String name;
protected
boolean
isQuited;
protected
Node next;
}
/** */
/**
*/
/** */
/**
* 循环链表类,用于解决轮圈数数退出问题的建模
*
@author
: sitinspring(junglesong@gmail.com)
* @date: 2008-7-1-下午10:42:37
*
@param
<T>
*/
public
class
CircleChainList
{
//
头节点
private
Node first;
//
人个数
private
int
length;
/** */
/**
* 轮圈退出
*
@param
interval 间隔或起始数
*/
public
void
wheelOut(
int
interval)
{
//
总节点数
int
n
=
length;
//
当前轮到的下标
int
currentIndex
=
interval;
//
当前节点
Node currentNode
=
first;
//
轮圈退出直到剩下最后一个人
while
(n
>
1
)
{
//
经过一个未推出节点即下标减一
if
(currentNode.isQuited
==
false
)
{
currentIndex
--
;
}
//
走向下一个节点
currentNode
=
currentNode.next;
//
当下标为0及当前节点未退出时让其退出
if
(currentIndex
==
0
&&
currentNode.isQuited
==
false
)
{
currentNode.isQuited
=
true
;
System.out.println(currentNode.name
+
"
退出
"
);
n
--
;
currentIndex
=
interval;
}
}
//
找出最后一个幸存者
currentNode
=
first;
while
(
true
)
{
if
(currentNode.isQuited
==
false
)
{
System.out.println(currentNode.name
+
"
是最后的幸存者
"
);
break
;
}
else
{
currentNode
=
currentNode.next;
}
}
}
/** */
/**
* 显示链表元素
*
*/
public
void
display()
{
System.out.print(
"
链表元素有
"
);
Node curr
=
first;
int
n
=
length;
while
(n
>
0
)
{
System.out.print(curr.name
+
"
-(
"
+
curr.isQuited
+
"
)
"
);
curr
=
curr.next;
n
--
;
}
System.out.println();
}
/** */
/**
* 添加一个数组组成环形链表
*
@param
arr
*/
public
void
addArray(String[] arr)
{
length
=
arr.length;
for
(String t:arr)
{
addTail(t);
}
Node curr
=
first;
while
(curr.next
!=
null
)
{
curr
=
curr.next;
}
//
将最后一个节点的指针指向头节点形成环形链表
curr.next
=
first;
}
/** */
/**
* 在链表尾部添加节点
*
@param
t
*/
public
void
addTail(String t)
{
Node newNode
=
new
Node();
newNode.name
=
t;
if
(first
==
null
)
{
first
=
newNode;
}
else
{
Node curr
=
first;
while
(curr.next
!=
null
)
{
curr
=
curr.next;
}
curr.next
=
newNode;
}
}
public
static
void
main(String[] args)
{
CircleChainList ls
=
new
CircleChainList();
String[] arr
=
{
"
1
"
,
"
2
"
,
"
3
"
,
"
4
"
,
"
5
"
,
"
6
"
,
"
7
"
,
"
8
"
}
;
ls.addArray(arr);
ls.wheelOut(
2
);
}
}
posted on 2008-07-05 09:14
sitinspring
阅读(147)
评论(0)
编辑
收藏
所属分类:
算法数据结构
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
用递归和扫描解决称球问题
二叉树搜索树代码
蔓延法判断两个城市的连接状态
八皇后回溯版
轮圈数数退出问题
泛型单链表类
泛型动态数组类
整形数组实用类,用于求两数组的并交差集
求两字符串的公共子串
不使用中间变量交换两个整型值的方法
Powered by:
BlogJava
Copyright © sitinspring
sitinspring(http://www.blogjava.net)原创,转载请注明出处.