首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

,关于栈的算法

2012-03-24 
求助,关于栈的算法最近,小弟刚开始学C语言,无奈碰到了几个题,小弟做不出来了,求大家帮帮忙吧1.用一长度为m

求助,关于栈的算法
最近,小弟刚开始学C语言,无奈碰到了几个题,小弟做不出来了,求大家帮帮忙吧
1.用一长度为m的数组存放一双向栈,两个栈顶分别为top1和top2,上溢条件为top1=top2 ,从键盘输入一串整数,奇数入stack1偶数入stack2,知道上溢时停止输入。试编写一算法实现此过程。 
书上的题,无奈我找不到答案,求大家帮帮忙
2.设X=(x1,x2,…xn)和Y=(y1,y2…,yn)为两个线性表,试将两个线性表合并为一个线性表,而结点的物理位置不变,新的线性表为
X=(x1,y1,x2,y2,...,xm,ym,xm+1...xn) n>=m时
X=(x1,y1,x2,y2,...xn,yn,yn+1,...,ym)n<m时



[解决办法]
1.可以从2头开始,一个栈的头是数组头,一个是数组尾,碰头就满了
2.物理位置不变 那这个线性表就用链表,改动时只改指针就可以了
[解决办法]
用#include <stack>
然后可以采用stack<int> istk;
istk.push(i);
while(!istk.empty())
{
temp = istk.top();
istk.pop();
}
等语法来解决你的问题,希望对你有用。

热点排行