数据结构——建立单向链表(java实现)

      简单单向链表的java实现,这里只实现了顺序插入操作,暂不支持在链表任意位置插入元素,代码背景:实现链表,其中每个节点代表一个学生信息,包括:学号、姓名和成绩。

/*
 * 节点类,每个节点代表一个学生信息,包括:学号、姓名和成绩
 * */
class Node
{
	int IDnumber;
	int score;
	String name;
	Node next;
	public Node(int IDnumber, String name, int score)
	{
		this.IDnumber = IDnumber;
		this.name = name;
		this.score = score;
		this.next = null;
	}
}
public class LinkedList {

	public Node first;
	public Node last;
	public boolean isEmpty()
	{
		return first == null;
	}
	public void print()
	{
		Node current = first;
		while(current != null)
		{
			System.out.println("["+current.IDnumber+" " + current.name+" "+current.score+"]");
			current = current.next;
		}
		System.out.println();
	}
	
	/*
	 * 该函数设计的功能只能依次插入,不能随便位置插入
	 * */
	public void insert(int IDnumber,String name, int score)
	{
		Node newNode=new Node(IDnumber, name, score);
		if(this.isEmpty())
		{
			first = newNode;
			last=newNode;
		}
		else {
			last.next=newNode;
			last=newNode;
		}
	}
}

//package com.liu.DataStructureChapter3;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Random;


public class LinkedListTest {

	public static void main(String[] args) throws IOException
	{
	
		BufferedReader buf;
		buf=new BufferedReader(new InputStreamReader(System.in));
		int num;
		String name;
		int score;
		
		System.out.println("请输入4个学生数据: ");
		LinkedList linkedList = new LinkedList();
		for(int i=1; i<5; i++)
		{
			System.out.print("请输入学号:");
			num = Integer.parseInt(buf.readLine());
			System.out.print("请输入姓名:");
			name=buf.readLine();
			System.out.print("请输入成绩:");
			score=Integer.parseInt(buf.readLine());
			linkedList.insert(num, name, score);
			System.out.println("------------------");
		}
		
		System.out.println("单向链表是否为空:"+linkedList.isEmpty());
		System.out.println("学生成绩:");
        System.out.println("学号姓名成绩=============");
		linkedList.print();
		
	}
}

在命令行中依次输入学生信息,运行结果如下:


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值