循环单列表的实现 一本书后习题上要求实现一个循环单列表,具体要求是没有表头没有表尾, 只有一个指向任意节点的current引用,不知道哪位大虾能否指点一下,谢谢~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是链表啊.不是列表.用二维数组可以实现,也可以自己定义一个类来实现.如果用数组可以这样:数组中的元素: 12 4 5 23 7 9用下标表示下一元素: 1 2 3 4 5 0再用一个int变量current表示一个下标.如果自己定义一个类:class Node{ int elem; //假设链表中的元素是int. Node next;}一种数据结构重要的是操作.所以你还要有操作.1向链表中添加元素.2删除链表中的一个元素.3链表是否为空.4查找链表中是包含某一元素.5遍历整个链表.等等. 谢谢二楼的,能否就第二种情况讲下怎样向链表中添加元素,没有表头,也没有表尾,只有一个current引用? current指向第一个加进链表的元素就可以了添加元素,就加到current指的那个元素的位置就可以了.给Node类加上一个Node(int)的构造方法; void add(int i){ if(current!=null){ Node t=new Node(i); t.next=current.next; current.next=t; }else{ //这时添加的是第一个元素. Node t=new Node(i); current=t; current.next=t; } } 再重载一个方法:void add(Node n){ if(current!=null){ n.next=current.next; current.next=n; else{ current=n; current.next=n; }} 继承问题 我在看一个参考资料的时候,在介绍什么时候使用泛型方法时,有这样一句: spring 怎么用事务 JFrame如何监听键盘事件 代码问题 String 和 StringBuffer在检索字符的速度效率比较? 如何获得父窗口的对象? 未入门新手,一开始就遇到问题,求助! 如何在JTabbedPane中植入JFrame的一些特性,比如可以关闭tab,其实就是使两者融合 穿越防火墙以及代理服务器 ? 编程隐藏文件 java java equals()
如果用数组可以这样:
数组中的元素: 12 4 5 23 7 9
用下标表示下一元素: 1 2 3 4 5 0
再用一个int变量current表示一个下标.如果自己定义一个类:
class Node{
int elem; //假设链表中的元素是int.
Node next;
}一种数据结构重要的是操作.所以你还要有操作.
1向链表中添加元素.
2删除链表中的一个元素.
3链表是否为空.
4查找链表中是包含某一元素.
5遍历整个链表.
等等.
添加元素,就加到current指的那个元素的位置就可以了.
给Node类加上一个Node(int)的构造方法;
void add(int i){
if(current!=null){
Node t=new Node(i);
t.next=current.next;
current.next=t;
}else{ //这时添加的是第一个元素.
Node t=new Node(i);
current=t;
current.next=t;
}
}
void add(Node n){
if(current!=null){
n.next=current.next;
current.next=n;
else{
current=n;
current.next=n;
}
}