|
5鱼币
本帖最后由 芊芊 于 2013-4-20 19:25 编辑
我想用 入栈 出栈的方法 去求回文。1.将入栈的 字符存放在数组a 中 然后 入栈 直到输入的字符是@ 为止。
2.然后 出栈 将元素存放在数组b中。(b 应该是颠倒的 字符串)
3.最后比较数组a 和 数组 b 看两者是否相同。
为何程序不对呢? 哪位鱼粉 指点指点{:7_169:}
- #include<iostream.h>
- #define MaxSize 20
- #define Flag 0
- typedef struct Node{
- int date[MaxSize];
- int top;
- }SeqStack;
- /********初始化栈************/
- SeqStack *Init_SeqStack()
- {
- SeqStack *s;
- s = new SeqStack;
- if(!s)
- return NULL;
- else{
- s -> top = -1;
- return s;
- }
- }
- /*************入栈*************/
- int Push_SeqStack(SeqStack *s, char x)
- {
- if(s -> top == MaxSize -1)
- return 0;
- else
- {
- s -> top++;
- s -> date[s -> top] = x;
- return 1;
- }
- }
- /************出栈取栈顶元素**************/
- char Pop_SeqStack(SeqStack *s)
- {
- char x;
- x = s -> date[s -> top];
- s -> top --;
- return x;
- }
- void main()
- {
- char c, a[MaxSize], b[MaxSize];
- int i = 0, j;
- SeqStack *s;
- s = Init_SeqStack();
- cin >> c;
- while(c != 0)
- {
- a[i] = c;
- Push_SeqStack(s, c);
- i++;
复制代码
|
最佳答案
查看完整内容
然后么- -额 - -
这代码有些不论不类- -看来你们老师的C++学的有点....
struct在C++中- -不用typedef就可以定义出来了
而且 - -毫无封装性,用的C式写法- -,连参数也不知道可以用引用类型
缺少内存回收的函数- -
好吧- -以上不是重点
出栈没有考虑栈空
第51行代码不是判断@
代码不完整
|