java实现单链表,功能有插入,删除,遍历。
2007-06-27 02:12
751 查看
public class Code {
private int data;
private Code next;
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public Code getNext() {
return next;
}
public void setNext(Code next) {
this.next = next;
}
}
public class List {
public Code head;
List()
{
this.head=new Code();
head.setData(0);
}
List(int n)
{
this.head=new Code();
Code p,temp;
p=head;
for(int i=0;i<n;i++)
{
temp=new Code();
temp.setData(i+1);
p.setNext(temp);
p=p.getNext();
}
head.setData(n);
}
//遍历节点
public void rList()
{
Code temp;
temp=head;
while(temp.getNext()!=null)
{
temp=temp.getNext();
System.out.println(temp.getData());
}
}
//删除节点
public void dCode(int n)
{
if(n>head.getData()){
System.out.println("找不到第"+n+"个节点");
return;
}
Code temp;
temp=head;
for(int i=0;i<n-1;i++)
{
temp=temp.getNext();
}
temp.setNext(temp.getNext().getNext());
head.setData(head.getData()-1);
}
//插入节点
public void iCode(int n,int d)
{
if(n>head.getData()+1){
System.out.println("找不到第"+n+"个节点");
return;
}
Code p=new Code();
p.setData(d);
Code temp;
temp=head;
for(int i=0;i<n-1;i++)
{
temp=temp.getNext();
}
p.setNext(temp.getNext());
temp.setNext(p);
}
public static void main(String args[])
{
List l=new List(5);
l.rList();
l.iCode(3,8);
l.rList();
l.dCode(4);
l.rList();
}
}
private int data;
private Code next;
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public Code getNext() {
return next;
}
public void setNext(Code next) {
this.next = next;
}
}
public class List {
public Code head;
List()
{
this.head=new Code();
head.setData(0);
}
List(int n)
{
this.head=new Code();
Code p,temp;
p=head;
for(int i=0;i<n;i++)
{
temp=new Code();
temp.setData(i+1);
p.setNext(temp);
p=p.getNext();
}
head.setData(n);
}
//遍历节点
public void rList()
{
Code temp;
temp=head;
while(temp.getNext()!=null)
{
temp=temp.getNext();
System.out.println(temp.getData());
}
}
//删除节点
public void dCode(int n)
{
if(n>head.getData()){
System.out.println("找不到第"+n+"个节点");
return;
}
Code temp;
temp=head;
for(int i=0;i<n-1;i++)
{
temp=temp.getNext();
}
temp.setNext(temp.getNext().getNext());
head.setData(head.getData()-1);
}
//插入节点
public void iCode(int n,int d)
{
if(n>head.getData()+1){
System.out.println("找不到第"+n+"个节点");
return;
}
Code p=new Code();
p.setData(d);
Code temp;
temp=head;
for(int i=0;i<n-1;i++)
{
temp=temp.getNext();
}
p.setNext(temp.getNext());
temp.setNext(p);
}
public static void main(String args[])
{
List l=new List(5);
l.rList();
l.iCode(3,8);
l.rList();
l.dCode(4);
l.rList();
}
}
相关文章推荐
- java实现单链表的初始化,创建,删除,插入,查找,排序,同项删除,退出等功能
- 面试之路(10)-BAT面试之java实现单链表的插入和删除
- java语言实现简单单链表链式储存结构。插入删除等操作。(有个地方看不出错误来,已经标注,望指正)
- java实现二叉查找树(插入、删除、遍历、查找)
- 面试之路(10)-BAT面试之java实现单链表的插入和删除
- 关于java写二叉排序树的问题,实现各种节点的插入,删除,遍历
- 二叉搜索树Java实现(查找、插入、删除、遍历)
- 面试之路(10)-BAT面试之java实现单链表的插入和删除
- Java实现二叉查找树的创建、查找、插入、删除、遍历
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数
- java实现数据结构-线性表-顺序表,实现插入,查找,删除,合并功能
- Java 实现二叉搜索树的查找、插入、删除、遍历
- 二叉树(插入,删除,遍历等)java实现
- 双向链表的功能实现:初始化,插入,按位置插入,按位置删除,按值删除,遍历打印等
- Java实现单链表的插入、删除、计算链表的长度和输出链表
- 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数将其返回。 ⑤ 建立两个
- 二叉查找树(查询、插入、遍历、删除)--Java实现
- 二叉搜索树的实现(包含插入、查找、遍历、删除等)【Java版】
- 使用JAVA实现单链表的建立、测长、打印、删除、插入、排序、逆置
- 二叉树:实现java操作二叉排序树(生成、插入、遍历、删除)