Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Есть код:
#include <iostream>
using namespace std;
struct Stack {
int info;
Stack *prev;
};
Stack *push(Stack *top, int info);
void view(Stack *top);
void delLast(Stack *top);
int main() {
int k, n;
Stack *top = NULL;
cout << "Enter the number of elements: " << endl;
cin>>n;
for (int i = 0; i<n;i++) {
cout << "Vvedite elem:\t" << endl;
cin >> k;
top = push(top, k);
}
delLast(top);
view(top);
}
Stack *push(Stack *top, int info) {
Stack *t = new Stack;
t->info = info;
t->prev = top;
return t;
}
void view(Stack *top) {
Stack *t = top;
if (t == NULL) {
cout << "Stack is empty!";
}
while (t != NULL) {
cout << t->info <<" ";
t= t ->prev;
}
}
void delLast(Stack *top) {
Stack *t = top;
while (t != NULL) {
if (t->prev == NULL) {
delete t;
return;
}
t = t-> prev;
}
}
Моя функция delLast
по задумке должна удалять последний элемент стека. Функция view
выводит все элементы после удаления последнего. Вроде бы работает и в то же время вроде бы нет... Последний элемент становится равным 0. Я так полагаю, что функция должна вывести только 2 элемента. Как исправить?
struct Stack {
int info;
Stack *prev;
};
Stack* push(Stack* &top, int info) {
Stack *t = new Stack;
t->info = info;
t->prev = top;
top = t;
return top;
}
void view(Stack* &top) {
Stack *t = top;
if (t == NULL) {
cout << "Stack is empty!";
}
for (Stack* i = top; i != NULL; i = i->prev) {
std::cout << i->info << ' ';
}
}
void delLast(Stack* &top) {
if (top != NULL) {
int temp = top->info;
Stack* Mystack = top;
top = top->prev;
delete Mystack;
std::cout << temp << std::endl;
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Почему на смартфонах при открытии страница чуть больше и приходится уменьшать? Если для body min-width: 320px все норм, но я хочу, чтобы минимальная...
Начал изучать принципы DI и работу с IoC контейнерамиВопрос следующего характера: Пусть у меня есть некая библиотека классов MyClassLibrary, там представлены...
Написал сервер для чата, который должен работать постоянноНо он почему то выключается при запуске, исключений не бросает