java单向链表的实现实例

时间:2021-05-19

上代码喽~
复制代码 代码如下:
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);
}

}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章