C++关于栈指针的问题
题目:
定义一个字符栈类Stack(包括类的实现).数据成员包括一个存放数组的stck[] 和栈指针 tos. 栈数组大小由常量SIZE决定.基本操作有Push和Pop.
#define SIZE 10
#include<iostream>
using namespace std;
class Stack {
char stck[SIZE];
int tos;
public :
Stack() { tos = 0; }
bool Push(char x);
char Pop();
};
bool Stack::Push(char x) {
if (tos == SIZE) {
return false;
}
else {
stck[tos++] = x;
return true;
}
}
char Stack::Pop() {
if (tos == 0) {
return 'f';
}
else {
return stck[--tos];
}
}
int main() {
Stack s;
s.Push('0');
s.Push('1');
s.Push('2');
s.Push('3');
s.Push('4');
s.Push('5');
s.Push('6');
s.Push('7');
s.Push('8');
s.Push('9');
cout << s.Pop()<< endl;
cout << s.Pop()<< endl;
cout << s.Pop()<< endl;
system("pause");
return 0;
}
我做题目看人家的答案,发现这个答案是不是没有用到栈指针, 不是应该是 s->tos 这样使用栈指针么?
#笔试题目#