Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在链表上实现推送_Java_Linked List_Stack - Fatal编程技术网

Java 如何在链表上实现推送

Java 如何在链表上实现推送,java,linked-list,stack,Java,Linked List,Stack,我正在寻找帮助实现这个链表上的推堆栈。一些提示将不胜感激:) 程序运行正常,我只是想看看如何添加push语句 import java.util.Scanner; public class StackList { LinkedListBasic stackList = new LinkedListBasic(); // Adds new elements to the top of the stack public void push(int data){ } pu

我正在寻找帮助实现这个链表上的推堆栈。一些提示将不胜感激:)

程序运行正常,我只是想看看如何添加push语句

import java.util.Scanner;

public class StackList {
    LinkedListBasic stackList = new LinkedListBasic();

    // Adds new elements to the top of the stack
    public void push(int data){

}

public static void main(String[] args){
    StackList newStackList = new StackList();
    Scanner input = new Scanner(System.in);

    while(true){
        int data = input.nextInt();
        if(data == -1) break;
        newStackList.push(data);
    }


public class Node{
    int data;
    Node next;

    public Node(int data){
        this.data = data;
        next =  null;
}
}

要将新元素推送到链表顶部,您必须能够访问链表的标题(第一个元素),并执行三项操作:

  • 使用适当的数据创建新节点
  • 将新节点的
    next
    字段设置为链接列表的标题
  • 将链接列表的标题设置为新节点

  • 假设您正在维护一个头部节点

    public void push(int data) {
           if(head == null) {
             Node node = new Node(data);
             head = node;
           }else {
             Node node = new Node(data);
             node.next = head;
             head = node;
          }
    }
    

    这听起来像是一个问题,如果不完全为你做这项工作,我们就无法帮助你。你到底对什么感到困惑?