单链表的创建--简单
文件结构:
//Link.java
package LinkList_Node;
import java.util.Scanner;
public class Link
{
static node head;
static node t;
public Link()
{
head=new node();
}
//以下是前插法;
public void insertHead(int val)
{
node cur=new node(val); //新结点数据域
cur.next=null; //新结点指针域
cur.next=head.next; //新结点指向头结点的下一个
head.next=cur; //头结点指向新结点
}
//以下是尾插法;
public void insertTail(int val)
{
node tmp;
node cur=new node(val);
tmp=head;
while(tmp.next!=null)
{
tmp=tmp.next;
}
tmp.next=cur;
cur.next=null;
}
public static void menu()
{
System.out.println("1.单链表前插");
System.out.println("2.单链表后插");
}
public static void main(String[] args)
{
menu();
int a[]=new int[3];
Link it=new Link();
// while(true)
// {
System.out.print("请输入:");
Scanner in=new Scanner(System.in);
int num=in.nextInt();
switch(num)
{
case 1:
{
for(int i=0;i<3;i++)
{
Scanner input=new Scanner(System.in);
a[i]=input.nextInt();
it.insertHead(a[i]);
}
break;
}
case 2:
{
for(int i=0;i<3;i++)
{
Scanner input=new Scanner(System.in);
a[i]=input.nextInt();
it.insertTail(a[i]);
}
break;
}
default:
System.out.println("输入错误");
break;
}
t=head; //t指向头结点
for(int j=0;j<3;j++) //输出结点的值
{
System.out.print(t.next.data+" ");
t=t.next;
}
// }
}
}
运行结果: