어떻게 C++에서 스택을 코딩 할 수 있습니까?C++에서 스택 구현
#include <iostream>
using namespace std;
#define max 10
class stack{
private:
int arr[max];
int top;
public:
stack(){
top=-1;//empty initialy stack
}
void push(int i){
top++;
if (top<max){
arr[top]=i;
}
else{
cout<<"stack full"<<endl;
top--;
}
}
int pop(){
if (top==-1){
cout<<"stack is emphty");
return NULL;
}
else{
int data=arr[top];
arr[top]=NULL;
top--;
return data;
}
}
bool empty(){
return (top==-1);
}
};
int main(){
stack a;
a.push(12);
a.push(30);
a.push(23);
a.push(42);
a.push(100);
while (!a.empty()){
a.pop();
}
return 0;
}
을하지만, 나는 다음과 같은 오류를 얻을 : 다음과 같이 나는이에게 자신을 시도했다 당신은 라인 (31)에 길잃은 대괄호있어
1>------ Build started: Project: stack_implementations, Configuration: Debug Win32 ------
1> stak_implementation.cpp
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(31): error C2059: syntax error : ')'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(34): error C2059: syntax error : 'else'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(34): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(42): error C2628: 'stack' followed by 'bool' is illegal (did you forget a ';'?)
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(44): error C2065: 'top' : undeclared identifier
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(31): error C2143: syntax error : missing ';' before '}'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(47): error C2059: syntax error : '}'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(47): error C2143: syntax error : missing ';' before '}'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(47): error C2059: syntax error : '}'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(56): error C2039: 'empty' : is not a member of 'stack'
1> c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(4) : see declaration of 'stack'
1>c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(56): fatal error C1903: unable to recover from previous error(s); stopping compilation
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
학교 과제물입니까? 좋은 생각은 읽기 쉽도록 코드의 들여 쓰기를 개선하는 것입니다. –
commententing 잊지 마세요 그리고 또한 C + + const를 사용할 수 있습니다, 어쩌면 당신은 나중에 여분의 프로그램으로 템플릿으로 그것을 던져 예외 스택을 가득 경우. – Quonux