服务器之家

服务器之家 > 正文

java单向链表的实现实例

时间:2019-10-17 10:27     来源/作者:java技术网

上代码喽~

复制代码代码如下:


package ncu.com.app.chatpter_5;

import java.util.Random;


//结点类
class Node {
 Object data;
 Node next;
 

}
//操作类
class ListNode{
 public Node first; 
 public int size; 
 public ListNode(){
  first = null;
  size = 0;
 }
 public void insertNode(Object node){
  Node no = new Node();
  no.data = node;
  no.next = first;
  first = no;
  size++;

 }
 public void disPlay(){
  if(size==0){
   System.out.println("链表为空");
  }
  Node currnode = first;
   while(currnode!=null){
    System.out.print(currnode.data+",");
    currnode = currnode.next;
   }
   System.out.println("");
  }
 //删除i个结点
 public void delect(int i){
  if(i<=size){
   for(int m=0;m<i;m++){
    first = first.next;
    size--;
    disPlay();
   }
  }
 }
 //清空链表
 public void delectAll(){
  size = 0;
  first = null;
  disPlay();
 }
 //获得从i-j中链表的数据
 public void getNode(int i,int j){
  for(int m=0;m<i-1;m++){
   first = first.next;
  }
  Node currnode = first;
  for(int m=0;m<j-i+1;m++){
   System.out.print(currnode.data+",");
   currnode = currnode.next;
  }

 }
}

 

public class NodeTree {
 public static void main(String args[]){
  ListNode listnode = new ListNode();
  for(int i = 0;i<10;i++){
   int k  = new Random().nextInt(10);
   listnode.insertNode(k);
   System.out.print(k+",");

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

}

 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部