Ich habe den Algorithmus von Einführung in den Algorithmus untersucht und dann Ich habe diesen Code geschrieben. Aber in meiner Ausgabe zeigt ein anderer Wert für den Index 0 und wenn ich Pop-Funktion verwenden es 1 Anzeige anstelle von 3C++ Implementierung von Stack mit Array
#include <iostream>
int top;
void initialise_top(){
top = -1;
}
bool stack_empty(int a[]){
if(top == -1)
return true;
else
return false;
}
void push(int a[], int x, int s){
if(top < s - 1){
top = top + 1;
a[top] = x;
}
else
std::cout << "overflow" << "\n";
}
int pop(int a[]){
if (stack_empty(a) == true)
std::cout << "Underflow" << "\n";
else{
--top;
return a[top+1];
}
}
void display(int a[]){
for(int i = 0;i <= top; i++){
std::cout << a[i] << " ";
}
}
int main()
{
int arr[7];
push(arr,15,7);
push(arr,6,7);
push(arr,2,7);
push(arr,9,7);
push(arr,17,7);
push(arr,3,7);
display(arr);
std::cout << "\n";
int out = pop(arr);
std::cout << pop << "\n";
return 0;
}
Hier wird die Momentaufnahme der Ausgabe enter image description here
Was haben Sie beim Durchlaufen Ihres Codes mit dem Debugger beobachtet? – user0042
Es sagt "Ziel ist auf dem neuesten Stand. Nichts zu tun (alle Elemente sind auf dem neuesten Stand)." – coder
Das ist eine Nachricht von Ihrem Buildsystem. Weißt du, was ein Debugger überhaupt ist? – user0042