单链表的创建及功能实现(java编写)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
j.next=del.next;
length--;
}
public void Getelem(int index)//查询索引index处的元素
{
if(index<0||index>length-1)
{
System.out.println("链表索引越界");
}
Node k=getNodebyindex(index);
list.Delete(2); list.print();
System.out.println("链表中获取元素(1):");
list.Getelem(1);
}
}
length++;
}
}
public void Delete(int index)//删除节点
{
if(index<0||index>length-1)
{
System.out.println("链表索引越界");
}
Node j=getNodebyindex(index-1);
Node del=j.next;
{
Node q=new Node(0,null);
header=q;
for(int i=0;i<a.length;i++)
{
p=new Node(a[i],null);
q.next=p;
q=p;
}
}
public Node getNodebyindex(int index) //根据index获取指代位置节点
{
if(index<0||index>length-1)
{
System.out.println("链表索引越界");
}
Node k=header.next;
for(int i=0;i<length;i++)
{
if(i==index)return k;
k=k.next;
}
return null;
}
public void insertList(int index,int data)//插入元素
}
list.CreatList(c);
System.out.println("输出链表:");
list.print();
System.out.println("链表中插入元素(3,5):");
list.insertList(3,5); list.print();
System.out.println("链表中删除元素(2):");
System.out.println("查询得到的元素为:"+k.data);
}
public void print()//输出链表
{
Node p=header.next;
for(int i=0;i<length;i++)
{
System.out.print(p.data+"->");
p=p.next;
Scanner b=new Scanner(System.in);
String stu[]=b.nextLine().split(",");
int c[]=new int[stu.length];
for(int i=0;i<stu.length;i++)
{
c[i]=Integer.parseInt(stu[i]);
Node next;//指向下一个节点的引用
public Node(int data,Node next)
{
this.data=data;this.next=next;
}
}//内部类结束
public Node header;
public Node p;
static int length;
public void CreatList(int a[])//尾插法创建单链表
}
//System.out.print();
System.out.println("null");
}Βιβλιοθήκη Baidu
/////////////////////////////////////////////main函数/////////////////////////////////////
public static void main(String[] args)
{
System.out.println("请输入数组长度:");
Scanner a=new Scanner(System.in);
length=Integer.parseInt(a.nextLine());
List list=new List();
System.out.println("请输入数组元素,以逗号间隔:");
{
if(index<0||index>length)
{
System.out.println("链表索引越界");
}
else {
Node j=getNodebyindex(index-1);
Node newnode=new Node(data,null);
newnode.next=j.next;
j.next=newnode;
2014-6-28
//任一类学生为例,建立动态结构—单链表的结构形式;完成学生单链表的建立、插入、删除、查询等功能。请用面向对象的思想分析问题及书写程序。
import java.util.Scanner;
public class List {
//定义一个内部类
public class Node
{
int data;
相关文档
最新文档