资源简介
书中源程序代码.rar

代码片段和文件信息
package ch02;
/**
*
* 带头结点的循环链表及其基本操作类
*
*/
public class CirclelinkList implements IList {
public Node head;// 循环单链表的头指针
// 循环单链表的构造函数
public CirclelinkList() {
head = new Node(); // 初始化头结点
head.next=head;
}
// 将一个已经存在的带头结点的循环单链表置成空表
public void clear() {
head.next=head;
}
// 判断当前带头结点的循环单链表是否为空
public boolean isEmpty() {
return head.next.equals(head);
}
// 求带头结点的循环单链表中的数据元素个数并由函数返回其值
public int length() {
Node p = head.next;// 初始化p指向首结点length为计数器
int length = 0;
while (!p.equals(head)) {// 从首结点向后查找,直到p指向头结点
p = p.next;// 指向后继结点
++length;// 长度增1
}
return length;
}
// 读取带头结点的循环单链表中的第i个数据元素
public object get(int i) throws Exception {
Node p = head.next;// 初始化p指向首结点j为计数器
int j = 0;
while (!p.equals(head) && j < i) {// 从首结点向后查找,直到p指向第i个元素或p指向头结点
p = p.next;// 指向后继结点
++j;// 计数器的值增1
}
if (j > i || p.equals(head)) { // i小于0或者大于表长减1
throw new Exception(“第“ + i + “个元素不存在“);// 输出异常
}
return p.data;// 返回元素p
}
// 在带头结点的循环单链表中第i个数据元素之前插入一个值为x的数据元素
public void insert(int i object x) throws Exception {
Node p = head;// 初始化p为头结点j为计数器
int j = -1; // 第i个结点前驱的位置
while ((!p.equals(head) || j == -1) && j < i - 1) {// 寻找i个结点的前驱
p = p.next;
++j;// 计数器的值增1
}
if (j > i - 1 || (p.equals(head) && j != -1)) // i不合法
throw new Exception(“插入位置不合理“);// 输出异常
Node s = new Node(x); // 生成新结点
s.next=p.next;// 插入单链表中
p.next=s;
}
// 将循环单链表中第i个数据元素删除。其中i取值范围为:0≤i≤length()- 1如果i值不在此范围则抛出异常
public void remove(int i) throws Exception {
Node p = head;// p指向要删除结点的前驱结点
int j = -1;
while ((!p.next.equals(head) || j == -1) && j < i - 1) {// 寻找i个结点的前驱
p = p.next;
++j;// 计数器的值增1
}
if (j > i - 1 || (p.next).equals(head)) { // i小于0或者大于表长减1
throw new Exception(“删除位置不合理“);// 输出异常
}
p.next=p.next.next;// 删除结点
}
// 在带头结点的循环单链表中查找值为x的元素,如果找到,则函数返回该元素在线性表中的位置,否则返回-1
public int indexOf(object x) {
Node p = head.next;// 初始化p指向首结点j为计数器
int j = 0;
while (!p.equals(head) && !p.data.equals(x)) {// 从单链表中的首结点元素开始查找,直到p.data指向元素x或到达单链表的表尾
p = p.next;// 指向下一个元素
++j;// 计数器的值增1
}
if (!p.equals(head))// 如果p指向表中的某一元素
return j;// 返回x元素在顺序表中的位置
else
return -1;// x元素不在顺序表中
}
// 输出循环链表中的数据元素
public void display() {
Node node = head.next;// 取出带头结点的单链表中的首结点元素
while (!node.equals(head)) {
System.out.print(node.data + “ “);// 输出数据元素的值
node = node.next;// 取下一个结点
}
System.out.println();// 换行
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3738 2014-09-04 18:54 书中源程序代码\src\ch02\Circleli
文件 2489 2011-06-24 14:35 书中源程序代码\src\ch02\DebugCircleli
文件 2689 2011-06-24 14:35 书中源程序代码\src\ch02\DebugDuli
文件 2622 2011-06-24 14:35 书中源程序代码\src\ch02\Debugli
文件 2496 2011-06-24 14:35 书中源程序代码\src\ch02\Debugli
文件 2716 2012-01-18 20:41 书中源程序代码\src\ch02\DebugSqList.java
文件 4301 2014-07-23 23:52 书中源程序代码\src\ch02\Duli
文件 435 2014-07-23 23:13 书中源程序代码\src\ch02\DuLNode.java
文件 1023 2011-06-24 14:35 书中源程序代码\src\ch02\Example2_1.java
文件 920 2011-06-24 14:35 书中源程序代码\src\ch02\Example2_2.java
文件 807 2011-06-24 14:35 书中源程序代码\src\ch02\Example2_3.java
文件 1581 2014-09-04 16:58 书中源程序代码\src\ch02\Example2_4.java
文件 2416 2014-09-04 17:00 书中源程序代码\src\ch02\Example2_5.java
文件 1300 2011-06-24 14:35 书中源程序代码\src\ch02\IList.java
文件 6259 2014-09-04 16:52 书中源程序代码\src\ch02\li
文件 4339 2014-09-04 16:57 书中源程序代码\src\ch02\li
文件 421 2014-07-23 18:02 书中源程序代码\src\ch02\Node.java
文件 2086 2014-09-04 17:09 书中源程序代码\src\ch02\Polyn.java
文件 4050 2014-09-04 17:01 书中源程序代码\src\ch02\PolynList.java
文件 303 2014-07-24 00:28 书中源程序代码\src\ch02\PolynNode.java
文件 3955 2014-08-06 05:22 书中源程序代码\src\ch02\SqList.java
文件 5774 2014-07-24 23:44 书中源程序代码\src\ch02\StudentManagSystem.java
文件 840 2014-08-06 05:27 书中源程序代码\src\ch02\StudentNode.java
文件 2818 2011-06-24 14:35 书中源程序代码\src\ch02\SX1_SqList.java
文件 1022 2011-06-24 14:35 书中源程序代码\src\ch02Exercise\Exercise2_3_1.java
文件 962 2011-06-24 14:35 书中源程序代码\src\ch02Exercise\Exercise2_3_2.java
文件 1000 2011-06-24 14:35 书中源程序代码\src\ch02Exercise\Exercise2_3_3.java
文件 1075 2011-06-24 14:35 书中源程序代码\src\ch02Exercise\Exercise2_3_4.java
文件 1225 2011-06-24 14:35 书中源程序代码\src\ch02Exercise\Exercise2_3_5.java
文件 1274 2011-06-24 14:35 书中源程序代码\src\ch02Exercise\Exercise2_3_6.java
............此处省略166个文件信息
- 上一篇:基于LabVIEW的虚拟示波器的设计与实现
- 下一篇:用汇编语言做一个扫雷游戏
相关资源
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
评论
共有 条评论