怎样用栈的方法实现

zhouhang888 2011-03-10 08:02:21
用栈的方法实现 比如输入abcd 输出dcba
...全文
55 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
masmaster 2011-03-10
  • 打赏
  • 举报
回复
还没学到栈呢~, 只会这样!

root@~ #cat 1.c
#include <stdio.h>

int main (void) {

char str[80],ch;
int i=0,j,len;

do {
ch=getchar();
str[i]=ch;
i++;
}while(ch!='\n');
str[i]='\0';
len=i;
j=i-1;

for(i=0;i<=len/2;i++,j--) {
ch=str[i];
str[i]=str[j];
str[j]=ch;
}
printf ("%s\n",str);

return 0;

}

root@~ #./1
abcd

dcba
root@~ #./1
123456789

987564321
root@~ #
pathuang68 2011-03-10
  • 打赏
  • 举报
回复

#include <iostream>
#include <stack>
using namespace std;
int main(int argc, char** argv)
{
char input[5]; // 比需要输入的字符数多1
stack<char> stk;

cin >> input;

for(int i = 0; i < 4; i++)
{
stk.push(input[i]);
}

while (!stk.empty())
{
cout << stk.top();
stk.pop();
}
cout << endl;
return 0;
}


stack相关的函数用法,详见:http://www.cplusplus.com/reference/stl/stack/
AnshuWang 2011-03-10
  • 打赏
  • 举报
回复
用数组和堆栈
追风筝的孩子 2011-03-10
  • 打赏
  • 举报
回复
push a
push b
push c
push d
pop d
pop c
pop b
pop a

h248080441 2011-03-10
  • 打赏
  • 举报
回复
先定义一个栈,然后定义pop和push
然后一个一个pop
quwei197874 2011-03-10
  • 打赏
  • 举报
回复
这是栈的基本操作阿!
「已注销」 2011-03-10
  • 打赏
  • 举报
回复
数组行不??
用指针指向数组尾。。。逆序输出即可
GoonYangXiaofang 2011-03-10
  • 打赏
  • 举报
回复
push
pop

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧