zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java单向链表的实现实例

JAVA实例链表 实现 单向
2023-06-13 09:15:06 时间
上代码喽~
复制代码代码如下:

packagencu.com.app.chatpter_5;

importjava.util.Random;


//结点类
classNode{
 Objectdata;
 Nodenext;
 

}
//操作类
classListNode{
 publicNodefirst;
 publicintsize;
 publicListNode(){
 first=null;
 size=0;
 }
 publicvoidinsertNode(Objectnode){
 Nodeno=newNode();
 no.data=node;
 no.next=first;
 first=no;
 size++;

 }
 publicvoiddisPlay(){
 if(size==0){
  System.out.println("链表为空");
 }
 Nodecurrnode=first;
  while(currnode!=null){
   System.out.print(currnode.data+",");
   currnode=currnode.next;
  }
  System.out.println("");
 }
 //删除i个结点
 publicvoiddelect(inti){
 if(i<=size){
  for(intm=0;m<i;m++){
   first=first.next;
   size--;
   disPlay();
  }
 }
 }
 //清空链表
 publicvoiddelectAll(){
 size=0;
 first=null;
 disPlay();
 }
 //获得从i-j中链表的数据
 publicvoidgetNode(inti,intj){
 for(intm=0;m<i-1;m++){
  first=first.next;
 }
 Nodecurrnode=first;
 for(intm=0;m<j-i+1;m++){
  System.out.print(currnode.data+",");
  currnode=currnode.next;
 }

 }
}

 

publicclassNodeTree{
 publicstaticvoidmain(Stringargs[]){
 ListNodelistnode=newListNode();
 for(inti=0;i<10;i++){
  intk =newRandom().nextInt(10);
  listnode.insertNode(k);
  System.out.print(k+",");

 }
 System.out.println("");
 listnode.disPlay();
 //listnode.delect(10);
 //listnode.delectAll();
 listnode.getNode(2,8);
 }

}