0
votes

Créez une pile avec 10 éléments entiers, puis ajoutez un élément avec fonction

J'ai créé une pile avec 10 éléments: xxx

maintenant, j'ai besoin d'écrire une méthode qui L'utilisation d'une pile auxiliaire B ajoute un élément au bas de la pile A comme argument.

Donc, si ma pile est: 1,2,3,4,5,6,7,8, 9,10 après la méthode add_on_begging (0) La pile devrait regarder 0,1,2,3,4,5,6,7,8,9,10

aussi, je tente de résoudre ce problème juste avec le pommeau, pousser et pop.


2 commentaires

Pouvez-vous nous montrer votre add_on_beggining méthode et pointez sur l'endroit où, plus précisément, avez-vous des problèmes (s) tout en faisant cette tâche?


Je ne sais pas comment commencer, c'est mon problème: D


4 Réponses :


0
votes

Vous pouvez obtenir la taille de la pile et les apparaître dans A pour boucle et les sauvegarder dans un tableau. Puis poussez 0 (début) et les éléments de la matrice en ordre.


1 commentaires

Ouais, j'ai dans mon esprit idée comment résoudre ce problème mais mon problème est comment écrire de code qui fonctionnera



0
votes

Sauf attribution des devoirs et que vous êtes obligé d'utiliser une classe auto-mise en œuvre, utilisez linkedlist . Il implémente deque , qui est à la fois une pile et une file d'attente. Avec elle, vous pouvez ajouter des éléments aux deux extrémités, tout en utilisant les méthodes fournies par la pile (poussée, pop, peek ...).

DEQUE: https://docs.oracle .Com / Javase / 7 / Docs / API / Java / UTIL / DEQUE.HTML


0 commentaires

0
votes

Exemple de mise en œuvre: xxx

sortie: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Vous pouvez modifier des noms de classe / variables. Notez que vous n'êtes pas obligé de retourner Customstack à partir d'Addonbeginning ainsi que de créer New Customstack <> (); .

ou utilisez simplement deque comme mentionné ci-dessus.


2 commentaires

Impossible de trouver le symbole: addonbeginning


Je ne peux pas vraiment répondre sans votre code, mais assurez-vous que vous utilisez cette méthode sur l'instance Customstack



0
votes
public static void main(String[] args) {

    Stack<Integer> stackA = new Stack<>();

    stackA.push(1);
    stackA.push(2);
    stackA.push(3);
    stackA.push(4);
    stackA.push(5);
    stackA.push(6);
    stackA.push(7);
    stackA.push(8);
    stackA.push(9);
    stackA.push(10);

    List<Integer> temp = new ArrayList<>();

    int elementToAdd = 100;

    //Add first
    temp.add(elementToAdd);

    for (Integer el : stackA) {
        temp.add(el);
    }

    stackA.clear();

    stackA.addAll(temp);

    System.out.println(stackA);


}

1 commentaires

Cela fonctionne bien, mais pas sur ce que je veux, mais merci