数据结构栈存储题目求解!
答案:2 悬赏:40 手机版
解决时间 2021-04-01 11:37
- 提问者网友:末路
- 2021-03-31 14:38
数据结构栈存储题目求解!
最佳答案
- 五星知识达人网友:青灯有味
- 2021-03-31 15:51
第4题
(1)可能的出栈顺序是 123(即1进栈就出栈,然后2进2出,再3进3出)
132(即1进1出,2进3进,3出2出)
213(即1进2进,2出1出,3进3出)
231(即1进2进,2出3进,3出1出)
321(即1进2进3进,3出2出1出)
(2)不能得到435612出栈顺序,因为按照进站的车厢序列为123456的话,进出栈顺序为1S2S3S4S4X3X5S5X6S6X2X1X,即1不可能在2之前出栈。
能得到135426的出站序列,即1S1X2S3S3X4S5S5X4X2X6S6X
第6题
一种存储方式用一维数组,通过判断当前数组下标值是否为最大值即判断是否栈满,是否为最小值判断是否栈空;一种用循环单项链表,通过判断表头与表尾指针是否一样判断栈满,判断指针是否为表头判断栈是否为空。
文字描述算法:
1、将字符串按顺序存入已经定义好的一维数组中;
2、输出时,数组下标定位在字符串结尾字符处,用循环实现依次减小下标值,输出对应下标的数组元素值,直到下标为0。追问补充题呢追答不知道你要求用什么方式写算法,是伪代码、流程图、文字描述哪一种,我刚才的回答提供了文字描述的算法了。追问c语言!追答#include
#include
int main()
{
char str[256];
int i=0;
gets(str);
while(str[i]!='\0')
i++;
i=i-1;
while(i>=0)
{
printf("%c",str[i]);
i--;
}
getchar();
}
(1)可能的出栈顺序是 123(即1进栈就出栈,然后2进2出,再3进3出)
132(即1进1出,2进3进,3出2出)
213(即1进2进,2出1出,3进3出)
231(即1进2进,2出3进,3出1出)
321(即1进2进3进,3出2出1出)
(2)不能得到435612出栈顺序,因为按照进站的车厢序列为123456的话,进出栈顺序为1S2S3S4S4X3X5S5X6S6X2X1X,即1不可能在2之前出栈。
能得到135426的出站序列,即1S1X2S3S3X4S5S5X4X2X6S6X
第6题
一种存储方式用一维数组,通过判断当前数组下标值是否为最大值即判断是否栈满,是否为最小值判断是否栈空;一种用循环单项链表,通过判断表头与表尾指针是否一样判断栈满,判断指针是否为表头判断栈是否为空。
文字描述算法:
1、将字符串按顺序存入已经定义好的一维数组中;
2、输出时,数组下标定位在字符串结尾字符处,用循环实现依次减小下标值,输出对应下标的数组元素值,直到下标为0。追问补充题呢追答不知道你要求用什么方式写算法,是伪代码、流程图、文字描述哪一种,我刚才的回答提供了文字描述的算法了。追问c语言!追答#include
#include
int main()
{
char str[256];
int i=0;
gets(str);
while(str[i]!='\0')
i++;
i=i-1;
while(i>=0)
{
printf("%c",str[i]);
i--;
}
getchar();
}
全部回答
- 1楼网友:酒醒三更
- 2021-03-31 17:13
1.123 231 213 321 132
2.435612 不可能因为1不会在2前出来
135426可以 1s1x2s3s3x4s5s5x2x6s6x
3.数组,TOP>N,TOP=0;追问补充题呢追答楼上的打得不错哈...粗看应该是对的
2.435612 不可能因为1不会在2前出来
135426可以 1s1x2s3s3x4s5s5x2x6s6x
3.数组,TOP>N,TOP=0;追问补充题呢追答楼上的打得不错哈...粗看应该是对的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯