java遍历单链表_单链表的建立和遍历(Java)

读入n值及n个整数,建立单链表并遍历输出。

输入格式:

读入n及n个整数

输出格式:

输出n个整数,以空格分隔(最后一个数的后面没有空格)。

输入样例:

在这里给出一组输入。例如:

2

10 5

输出样例:

在这里给出相应的输出。例如:

10 5

程序代码:

import java.util.Scanner;

class Node{

Node next;

int data;

public Node(){

}/*指针类*/

public Node(int data){

this.data = data;

}

}

class NodeList{

Node first;

private int count = 0;

private int countHead = 0;

NodeList(){

}/*单链表类*/

public void initNL(){

Node node = new Node();

node.next = null;

this.first = node;

count = 0;

countHead = 1;

}/*单链表的初始化*/

public void insertH(int data){

Node node = new Node(data);

node.next = first;

first = node;

countHead++;

}/*插入头结点*/

public void insertNL(int data, int number){

Node node = new Node(data);

Node current = first;

Node perious = first;

if (number > count + 1)

System.exit(1);

for (int i = 1; i < countHead + number - 1; i++){

perious = current;

current= current.next;

}

current.next = node;

count++;

}/*插入结点*/

public int getElem(int number){

Node current = first;

Node perious = first;

if (number > count)

System.exit(1);

for(int i = 1; i < countHead + number; i++){

perious = current;

current = current.next;

}

return current.data;

}/*取值*/

}

public class Main{

public static void main(String[] args){

Scanner input = new Scanner(System.in);

NodeList nodeList = new NodeList();

nodeList.initNL();

int count = input.nextInt();

for (int i = 1; i <= count; i++){

int data = input.nextInt();

nodeList.insertNL(data, i);

}

int number = 1;

System.out.print(nodeList.getElem(number));

number++;

for (;number <= count; number++)

System.out.print(" " + nodeList.getElem(number));/*循环遍历*/

}

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值