问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据结构初学者求教 为什么pop里的e前有“&”符号,而push里没有?

发布网友 发布时间:2024-07-22 08:41

我来回答

2个回答

热心网友 时间:2024-07-26 01:38

首先,push函数是将e的值压进堆栈里对吧,那就是说e这个变量本身除了提供值以外就不需要用到了,所以e的值保持原样就可以了,但是POP函数不同,pop函数是将堆栈栈顶元素弹出来,那既然弹出堆栈肯定要用个变量保存吧,就是用e来保存这个值,如果没有&的话e就不能将值带回,所以要加&,或者用指针也可以带回值。

热心网友 时间:2024-07-26 01:40

int pop (sqstack &s, int &e)//删除s的栈顶元素,用e返回其值;
{//&e是代表对e的引用,这样在函数pop里面改变e的值,实参也会改变
//比如 int x;pop(&s, x);这样就可以把值通过x返回
 if(s.top==s.base) return 0;
 e= *--s.top;
 return 1;
}
int push (sqstack &s, int e)// 插入元素e为新的栈顶元素
{//这里只是用到了e的值,不用返回,故不加&
if(s.top - s.base >= s.stacksize)
 {
  s.base = (int*)realloc(s.base, (s.stacksize+100) * sizeof(int));
  if(!s.base) exit(-2);
  s.top = s.base +s.stacksize;
  s.stacksize+= 100;
 }
 *s.top ++= e;
 return 1;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么起点中文网上传小说怎么也分不了段?ji 我在手机起点网写小说,请问大家怎样换行? “千古兴亡泰伯国”的出处是哪里 ...登京口北固亭有怀古》原文赏析及翻译(千古兴亡多少事) “千古兴亡一梦惊”的出处是哪里 千古兴亡多少事的翻译是什么 《千古兴亡多少事,悠悠。不尽长江滚滚流。 (宋·辛弃》古诗原文及翻译... 办理蚂蚁宝卡后可以转换成使用原联通号码 蚂蚁宝卡可以变更成其他4G套餐吗 状态空间模型状态空间模型的建立和预测的步骤 如果开发商跑路房贷还用还吗 劳动合同法法律条文的必备条款是什么? 汇编里的"PUSH"和"POP"起了什么功能,,谁能用通俗点的话告诉我吗?? 是大汉铁骑厉害还是罗马军团厉害 ...经济伙伴关系协定正式签署,区域全面经济伙伴关系协定英文简称... 苹果ios13快捷指令怎么用 ...协定正式签署,区域全面经济伙伴关系协定英文简称为()。 毕业后户口在校超过3年如何才能迁回原籍(黄石) 去湖北黄石办去转户口需哪些待续 家居饰品市场如何推动树脂工艺品的发展? 我毕业以后户口和党关系托管在武汉,现在转回到黄石市铁山区,怎么办手续... “RCEP”是指什么? 一毫克等于几微克? 奶水多但质量不好怎么回事 产后乳汁不足怎么办 树脂工艺品好卖吗 合成树脂瓦供应哪家好 捻丝麻布料会起球吗 微信运动不联网能更新吗? 如何将电脑上下载下来的MP4视频做成壁纸。 如何在试听视频后直接从电脑中找到并复制到桌面? Hurts Like Heaven 歌词 日语的"タ"字怎么读,有什么意思啊? 美出天际了是什么意思? 美出天际怎么理解 胎心弱有什么补救方法 请问从广西防城港到广东江门怎么坐车,车费多少钱啊,求解!急急_百度知 ... 二十斤的桂圆肉,从南宁到江门蓬江区费用要多少? 合同诈骗罪一般多久可以判刑 合同诈骗罪刑事拘留多久会被判刑 合同诈骗罪一般是多久判刑 合同诈骗罪判刑吗多久能判 合同诈骗罪坐牢几年能判刑 合同诈骗罪什么时候能判刑 LTE专网防爆手机哪个牌子有? vivoY50可以安电信卡吗? 2024新消法吃出异物赔偿多少 华为交换机有哪些命令可以用? tritan材质的塑料杯安全性能如何呢? 2024年女排总决赛在哪里举行 tritan材质好不好?