이 코드의 주 방법을 고안하는 데 문제가 있습니다. 누구든지 도움이 될 수 있습니까?이 C++ 링크 된 목록/푸시/팝 프로그램의 기본 메소드
#include "stdafx.h"
#include <cstdlib>
#include<iostream>
#include <queue>
#include <stack>
using namespace std;
int main()
{
return 0;
}
struct node {
int data;
node* next;
};
node*head;
node*tail;
void push(node *& head, node *&tail, int data) {
if (head == NULL) {
node* n = new node;
n->data = data;
n->next = NULL;
head = n;
tail = n;
}
else if (head != NULL) {
node* n = new node;
n->data = data;
n->next = head;
head = n;
}
}
void showdata(node *& head) {
node* temp = new node;
temp = head;
if (temp == NULL) {
cout << "Empty" << endl;
}
else {
cout << "element: " << endl;
while (temp != NULL) {
cout << temp->data << endl;
temp = temp->next;
}
}
}
void pop(node *&head, node *& tail) {
if (head == NULL) {
cout << "Empty" << endl;
}
else if (head == tail) {
cout << "value: " << head->data << " was popped" << endl;
delete head;
head = NULL;
tail = NULL;
}
else {
node* delptr = new node;
delptr = head;
head = head->next;
cout << "value: " << delptr->data << " was popped" << endl;
delete delptr;
}
}
프로그램 출력/정의 실제 스택을 시작하는 방법입니다 함께
Initialise stack (max size = 10)
Write (“Testing Stack”)
showstack()
for (counter = 0, counter < MaxSize)
push(counter)
showstack()
for (counter = 0, counter < MaxSize)
write(pop())
중요한 것은
난 정말 문제가 있어요 ... 다음 발판을 따라야합니다. 어떤 도움이 많이 도움이 될 것입니다기본적으로 스택을 만들려고합니다. 숫자 1-10을 눌러 스택을 표시 한 다음 끕니다. 필자는 메소드에 대한 코드를 가지고 있지만 실제로 푸시 할 스택/스택을 정의/선언하는 방법을 알아낼 수 없습니다.
나는 단서가 없다 당신이 실제로 요구하는 것은 무엇입니까? –
질문을 정리해 주시겠습니까 – Prasheel
죄송합니다. 끝까지 더 잘 못알았습니다.하지만 나는 그걸 잘라 버린 것 같아요. 기본적으로 스택을 만들고, 1 ~ 10의 숫자를 푸시하고, 스택을 표시 한 다음 튕겨 내려고합니다. . 필자는 메서드에 대한 코드를 얻었지만 실제로 스택을 정의하거나 선언 할 방법을 알아 내지 못했습니다. – weeurey