单链表的创建--简单

文件结构:

//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;

  }

  // }

  }

}

运行结果: 

  

 

posted @ 2019-07-04 18:42  bobo哥  阅读(313)  评论(0编辑  收藏  举报