社区
C++ 语言
帖子详情
栈操作能不能取出指定位置的元素,不只限于.top(),求高手指点
hongxuebiao
2010-04-16 04:37:54
栈操作能不能取出指定位置的元素,不只限于.top(),求高手指点
...全文
421
11
打赏
收藏
栈操作能不能取出指定位置的元素,不只限于.top(),求高手指点
栈操作能不能取出指定位置的元素,不只限于.top(),求高手指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hongxuebiao
2010-05-13
打赏
举报
回复
谢谢,我知道怎么做了
ForestDB
2010-04-18
打赏
举报
回复
帮顶。
勇敢的搬砖人
2010-04-18
打赏
举报
回复
友情帮顶
西毒
2010-04-16
打赏
举报
回复
当然可以了啊!只不过就破坏了栈的特性了啊!
hahalxp
2010-04-16
打赏
举报
回复
栈有一个很重要的特殊性,就是存在栈中的数据可以共享。假设我们同时定义:
int a = 3;
int b = 3;
编译器先处理int a = 3;首先它会在栈中创建一个变量为a的引用,然后查找有没有字面值为3的地址,没找到,就开辟一个存放3这个字面值的地址,然后将a指向3的地址。接着处 理int b = 3;在创建完b的引用变量后,由于在栈中已经有3这个字面值,便将b直接指向3的地址。这样,就出现了a与b同时均指向3的情况。
特别注意的是,这种字面值的引用与类对象的引用不同。假定两个类对象的引用同时指向一个对象,如果一个对象引用变量修改了这个对象的内部状态,那么另一 个对象引用变量也即刻反映出这个变化。相反,通过字面值的引用来修改其值,不会导致另一个指向此字面值的引用的值也跟着改变的情况。如上例,我们定义完a 与b的值后,再令a=4;那么,b不会等于4,还是等于3。在编译器内部,遇到a=4;时,它就会重新搜索栈中是否有4的字面值,如果没有,重新开辟地址 存放4的值;如果已经有了,则直接将a指向这个地址。因此a值的改变不会影响到b的值。
贪食蛇男
2010-04-16
打赏
举报
回复
你用vector呗
herman~~
2010-04-16
打赏
举报
回复
栈的数据结构设计本来就是适用于先进后出的结构,如果要随机存取中间元素,建议换个数据结构:例如连续数组等
wade_2003
2010-04-16
打赏
举报
回复
这就是栈的特点,呵呵
pengzhixi
2010-04-16
打赏
举报
回复
那建议就不要用栈了。用其他容器吧。否则这就不叫栈了。
「已注销」
2010-04-16
打赏
举报
回复
可以啊,
每个函数的本地变量都是这么用的,不信就看看反汇编。
Coding4Girls
2010-04-16
打赏
举报
回复
用队列吧
JAVA开发全集
soap消息的分析和消息的创建和传递和处理 @WebService public interface IMyService { @WebResult(name="addResult") public int add(@WebParam(name="a")int a,@WebParam(name="b")int b); @WebResult(name="us
准备的基础知识 (一)
这里是总结了20年五月份为了实习二准备的一些基础知识,之前的版本比较乱,现在趁着有时间好好整理一下。 内容涵盖:计网 计原 OS 数据结构和算法 Linux基础 C++基础 设计模式等面试常考问题 文章目录const 和 #define的区别【进程与线程】【C++内存】【死锁相关】【TCP机制】TCP实现可靠传输的机制TCP协议的特点【static关键字】【C++强转】【C++面向对象】封装,继承,多态重载、重写【C语言与C++的区别】【数组和指针】【指针和引用】【C++11新特性】【STL】【vect
N2词汇语法
1.1 名词 1.2 动词 1.3 形容词 1.4 副词 1.5 语法 1.1 名词 名词 爱人 あいじん 情妇 朝饭前 あさめしまえ 简单 お(小·御) 暗算 あんざん 心算 暗記 意义:小、稍、表示尊敬 石頭 いしあたま 死脑筋的人 后续词:名词 一味 いちみ 同类 お川/小河 浮気 うわき 见异思迁 お国/贵国 得体 えたい 来历、身份 お父...
yudao-boot-mini-Spring Boot 后台管理系统资源
RuoYi-Vue Pro Spring Boot + MyBatis Plus + Vue & Element + RBAC SaaS Flowable CRMERPAI Star
从平台建而不用、用而不活到知识管理效能提升,产业园区借助“上云用数赋智”一体化服务能实现多大跨越?.docx
科易网AI+成果转化与科技创新,以科创知识图谱、数智应用和智能体为人工智能商业化应用产品,聚焦技术转移、成果转化、科技创新、产业创新等方向,构建科技创新服务平台,为提升各类创新主体科技创新水平与地方产业创新效能提供解决方案。
C++ 语言
65,210
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章