Javaは簡単なチェーンテーブルの作成操作を実現する


1、ノードクラスの作成
//     
public class Node {
	int data;
	int np;
	String names;
	Node next;
	//         
	public Node(int data, int np, String names) {
		this.data = data;
		this.np = np;
		this.names = names;
		this.next=null;
	}
}

2.ノードポインタを2つ定義し、それぞれヘッドノードとテールノードを指し、ノードを追加する方法を定義する
package List;
import java.util.*;
//    Node       
public class LinkedList{
	private Node first;
	private Node last;
	public Node BooleanisEmpty() {
		return first =null;
	}
	//    
	public void print() {
		Node  current=first;
		while(current!=null)
		{
			System.out.println("["+current.data+""+current.names+""+current.np+"]");
			current=current.next;
		}
		System.out.println();
	}
	//    
	public void insert(int data,String names,int np) {
		Node newNode=new Node(data,np,names);
		if(first==null){
			first=newNode;
			last=newNode;
		}
		else {
		last.next=newNode;
		last=newNode;
		}
	}
}

3、実例、5人の学生の情報を追加する
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class CH01_01 {

public static void main(String[] args) throws  IOException {
	BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
	int num;
	String name;
	int score;
	System.out.println("   5     :");
	LinkedList list=new LinkedList();
	for(int i=1;i<6;i++) {
		System.out.println("     :");
		num=Integer.parseInt(buf.readLine());
		System.out.println("     :");
		name=buf.readLine();
		System.out.println("     :");
		score=Integer.parseInt(buf.readLine());
		list.insert(num,name,score);
		System.out.println("--------------");
	}
	System.out.println("     ");
	System.out.println("         =======");
	list.print();	
}
}

  :
   5     :
     :
01
     :
   
     :
85
--------------
     :
02
     :
   
     :
95
--------------
     :
03
     :
   
     :
88
--------------
     :
04
     :
   
     :
90
--------------
     :
05
     :
   
     :
77
--------------
     
         =======
[1   85]
[2   95]
[3   88]
[4   90]
[5   77]