社区
C语言
帖子详情
请教关于堆栈的一个问题
kingbigeast
2010-03-16 06:49:57
最近刚开始学数据结构,看到堆栈在变换顺序时,有些特殊的顺序是不能变换出来的。比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的。
当有四个元素ABCD时,我挨个试了一下,有14种可以,10种不可以。
然后我想知道当有N个元素的时候,有多少种顺序可以实现,多少种不可以。
这好像更像是一个数学问题了···
...全文
193
10
打赏
收藏
请教关于堆栈的一个问题
最近刚开始学数据结构,看到堆栈在变换顺序时,有些特殊的顺序是不能变换出来的。比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的。 当有四个元素ABCD时,我挨个试了一下,有14种可以,10种不可以。 然后我想知道当有N个元素的时候,有多少种顺序可以实现,多少种不可以。 这好像更像是一个数学问题了···
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
风吹草低现羊牛
2010-03-18
打赏
举报
回复
我空间里面有编关于讲堆栈的,讲得灰常容易理解!推荐楼观摩!
lovesi3344
2010-03-17
打赏
举报
回复
栈是后进先出表
你那本习题答案错了 或者你答案对错了
[Quote=引用 8 楼 gaslinux 的回复:]
比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的
这句我是没看懂,为什么CBA这个顺序是不能出现?
[/Quote]
gaslinux
2010-03-17
打赏
举报
回复
比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的
这句我是没看懂,为什么CBA这个顺序是不能出现?
kingbigeast
2010-03-17
打赏
举报
回复
[Quote=引用楼主 kingbigeast 的回复:]
最近刚开始学数据结构,看到堆栈在变换顺序时,有些特殊的顺序是不能变换出来的。比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的。
当有四个元素ABCD时,我挨个试了一下,有14种可以,10种不可以。
然后我想知道当有N个元素的时候,有多少种顺序可以实现,多少种不可以。
这好像更像是一个数学问题了···
[/Quote]
出错啦,不好意思,第一段最后一句中应该是CAB。
可能我表述得不很清楚导致很多人没弄清楚···
xiaotutu6000
2010-03-16
打赏
举报
回复
不理解~~~!!!贴个代码出来看看可以不??是用链表模拟的吗???
猫已经找不回了
2010-03-16
打赏
举报
回复
题目我就会做,这个公式就没研究出来。
入栈:ABCD
出栈:ADBC
这种情况就是不可能的。
就是最后一个元素出栈后,后面的出栈顺序必须是正常顺序。
kingbigeast
2010-03-16
打赏
举报
回复
[Quote=引用 3 楼 traceless 的回复:]
不是吧,这个ms是不能提取公式的。。。
[/Quote]
那有没有人知道这里有啥规律性的东西没啊?
traceless
2010-03-16
打赏
举报
回复
不是吧,这个ms是不能提取公式的。。。
cy330206
2010-03-16
打赏
举报
回复
[Quote=引用 1 楼 fox000002 的回复:]
变换顺序: 这个怎么解释
[/Quote]
只能意会,不能言传
fox000002
2010-03-16
打赏
举报
回复
变换顺序: 这个怎么解释
一个
嵌入式牛人学习经历
在后面的两年里我给自己定下了几个目标: 一.努力做好本职工作,在工作上得到公司和同事们的认同; 二.努力学习IC硬件设计知识,多向同事
请教
,并利用一切机会多实践; 三.实现我的实时操作系统的主要部分,完成TCP/IP协议栈模块,并免费发布源代码; 四.和我女朋友结婚并买一套小房子,这是最重要的,因为我明白事业是可以重来的,但是珍贵的感情很难失而复得。 在这里提一下我现在开发的操作系统,它是
一个
实时嵌入式系统,目前支持以下特性: a.支持时间片轮转调度和基于优先级调度,最多64个优先级; b.抢占式实时内核; c.为了便于移植,主体用标准C实现; d.汇编代码非常少,不到100行; e.支持任务管理,各任务有独立的
堆栈
; f.进程同步和通信目前完成了Semaphore,Message Queue正在调试; g.实现了定时系统调用; h.可以在windows上仿真调试
ARM 经典300问答总结.txt
第1问: Q:请问在初始化CPU
堆栈
的时候一开始在执行mov r0, LR这句指令时处理器是什么模式 A:复位后的模式,即管理模式. 第2问: Q:
请教
:MOV中的8位图立即数,是怎么一回事 0xF0000001是怎么来的 A:是循环右移,就是
一个
0—255 之间的数左移或右移偶数位的来的,也就是这个数除以4一直除, 直到在0-255的范围内它是整数就说明是可以的! ..................
关于函数
堆栈
的
问题
请教
...
最近一直在学习函数调用时
堆栈
的变化情况,自己写了
一个
简单的程序: #include <stdio.h> #include <string.h> int localFun(char,char,char,char,char); int main(int argc,char* argv[]) { if(1==1) { char c1,c...
AVR的软
堆栈
设置
AVR
请教
AVR的软
堆栈
设置?! *******************************攻城为下,攻人为次,攻心为上*******************************。 猜你关注: AVR定时器计算程序 国外很强大的AVR小工具软件 AVR初始代码生成器 学AVR必备!国外很强大的AVR小工具软件
OpenSSL
堆栈
操作及其安全
堆栈
实现
读openssl的源码一直可以看到DEFINE_STACK_OF这个宏,它被定义在safestack.h这个头文件中。openssl的
堆栈
实现共涉及到三个文件,stack.h、stack.c 和safestack.h;其中stack.h、stack.c 实现了stack_st结构体,及对该结构体对象进行操作的一系列以OPENSSL_sk开头的函数,主要有:
堆栈
拷贝(OPENSSL_sk_dup)、...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章