Как реализовать push на связанный список - PullRequest
0 голосов
/ 20 февраля 2019

Я ищу помощь в реализации push-стека в этом связанном списке.Некоторые советы будут оценены :)

Программа работает правильно, я просто смотрю, как добавить оператор 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;
}
}

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Предполагается, что вы поддерживаете головной узел.

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;
      }
}
0 голосов
/ 20 февраля 2019

Чтобы поместить новый элемент в верхнюю часть связанного списка, вы должны иметь доступ к заголовку (первому элементу) связанного списка и выполнить три действия:

  1. Создать новый узел ссоответствующие данные
  2. Установите в поле next нового узла заголовок связанного списка
  3. Установите заголовком связанного списка новый узел
...