首页 > 知识点讲解
       栈
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式程序设计语言 > 嵌入式C/C++程序设计要求 > C程序设计基础 > 栈与队列 > 
被考次数:6次     被考频率:中频率     总体答错率:54%     知识难度系数:     
考试要求:掌握      相关知识点:2个      
        栈是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。换句话说,栈的修改是按先进后出的原则进行的。因此,栈又称为先进后出(FILO,或后进先出)的线性表。在栈中,进行插入和删除操作的一端称为栈顶(top),相应地,另一端称为栈底(bottom)。不含数据元素的栈称为空栈。
        栈的基本运算如下。
        (1)初始化栈initStack(S):创建一个空栈S。
        (2)判栈空isEmpty(S):当栈S为空栈时返回“真”,否则返回“假”。
        (3)入栈push(S,x):将元素x加入栈顶,并更新栈顶指针。
        (4)出栈pop(S):将栈顶元素从栈中删除,并更新栈顶指针。
        (5)读栈顶元素top(S):返回栈顶元素的值,但不修改栈顶指针。
        可以用一维数组作为栈的存储空间,同时设置指针top指示栈顶元素的位置。在这种存储方式下,需要预先定义或申请栈的存储空间,也就是说栈空间的容量是有限的。因此一个元素入栈时,需要判断是否栈满,若栈满(即栈空间中没有空闲单元),则元素入栈会发生上溢现象。
        用链表作为存储结构的栈称为链栈。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必另外设置头指针,链表的头指针就是栈顶指针。链栈的表示如下图所示,其类型定义如下:
        
        链栈示意图
        
        以栈中元素类型为整型为例,实现栈基本运算的函数定义如下。
        【函数】创建一个单链表表示的空栈。
        
        【函数】元素入栈。
        
        【函数】元素出栈。
        
        【函数】读取并返回栈顶元素。
        
        
        【函数】判断栈是否空。
        
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2021年上半年
   嵌入式系统设计..
   上午试卷 综合知识
第46题
选择题
使用软件定义的两个栈共享同一片存储空间,当()时,产生溢出。

33%
   2021年上半年
   嵌入式系统设计..
   上午试卷 综合知识
第22题
选择题
Java语言符合的特征有()和自动的垃圾回收处理。
①采用即时编译
②采用静态优化编译
③对象在堆空间分配
④对象在栈空间分配

100%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有