迎新过后,来带领你好好学习的小软准时归来,快带着上次学习链表操作的记忆和我开启新的旅程吧:

链栈:就是栈的链式存储结构,简称链栈。

首先我们要考虑的就是链栈的存储结构,由于栈只是在栈顶进行插入和删除操作,而且单链表也存在头指针,栈也存在栈顶指针,那么我们能不能想办法让这二者合为一体呢,答案是肯定的。我们直接将栈顶放在单链表的头部,因此单链表中常用的头指针自然也就失去了意义,通常对链栈来讲是不需要头结点的。

对于链栈来讲基本很少出现栈满的情况(除非内存已经被沾满 ),如果这种事情真的发生,那么此时的计算机操作系统也将会面临死机崩溃的情况,那就不单单是这个链栈是否溢出的问题了。对于链表来说,链表为空的表示是头结点指向空,那么对于链栈来讲,链栈为空就是栈顶指针指向空(top = NULL)。

链栈的结构定义 

在这里我们假设elementype为int类型,读者可根据需要自行修改。

链栈的进栈操作算法(类似于链表的插入):

先对数据域进行赋值,然后让新结点指向栈顶指针,最后将栈顶指针交给新节点。

链栈的出栈操作算法(类似于链表的删除操作):

现将要删除的元素的值交给临时变量,将栈顶指针交给临时节点(栈只在栈顶进行操作,不用担心其他问题),将栈顶指针下移,最后释放临时节点(即完成删除)。

对于访问来讲,这里我采用了最基本的打印元素的方式来进行访问(即遍历栈,对每个位置上的元素进行打印)。

返回栈的大小就是检测元素个数,只需要查看计数器的值即可。

获得栈顶元素的值,直接调用栈,然后打印栈顶元素即可。

链栈的基本操作你学会了吗?小软可是包教包会的,有问题记得问小软哦,好了现在让我们期待下周的学习内容吧。

部分图片来源于网络

责任编辑:付子腾   毛丽颖

c语言栈的实现以及操作_数据结构之链栈基本操作的实现详解(C语言描述)相关推荐

  1. 数据结构殷人昆电子版百度云资源_数据结构精讲与习题详解(C语言版第2版清华大学计算机系列教材)...

    导语 内容提要 殷人昆编著的<数据结构精讲与习题详解(C语言版第2版清华大学计算机系列教材)>是清华大学出版社出版的<数据结构(C语言版)>(第2版)的配套教材,对" ...

  2. php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...

    详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...

  3. DBus glib 各数据类型接收与发送详解—C语言(3)

    DBus glib 各数据类型接收与发送详解-C语言(3) 动机 前置知识 正文 Python 测试服务 使用 C 实现复杂数据类型的传递 DICT_DICT ObjectPath_Dict_Stru ...

  4. 详解go语言的array和slice 【二】

    上一篇  详解go语言的array和slice [一]已经讲解过,array和slice的一些基本用法,使用array和slice时需要注意的地方,特别是slice需要注意的地方比较多.上一篇的最后讲 ...

  5. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...

  6. php 微信 公众 平台,微信公众平台代码详解-php语言(一)

    2.这里把它粘贴出来,以注释的形式进行讲解. 3.首先我们要知道一些基础的知识: (1)要有自己的网站--公网环境,其中一个php页面处理微信消息: (2)微信公众平台和网站服务器之间是通过XML数据 ...

  7. 详解c语言编程库题,详解C语言编程

    C语言作为编程语言,其诞生已经很早,但是在编程语言多样化的今天,C仍然高居TIOBE编程语言排行榜的第一位(2014年5月),而C++语言排位第四.而位居第二位的Java本身就是脱胎于C++语言,第三 ...

  8. 详解易语言调用大漠插件注册vip的三种方法

    详解易语言调用大漠插件注册vip的三种方法 1.将大漠插件所有命令封装成易语言类模块.(类模块调用法) 2.将大漠插件所有命令封装成Ec模块(EC模块调用法) 3.将大漠插件所有命令封装成易语言支持库 ...

  9. c语言 字符串 strncpy,详解c语言中的 strcpy和strncpy字符串函数使用

    详解c语言中的 strcpy和strncpy字符串函数使用 strcpy 和strcnpy函数--字符串复制函数. 1.strcpy函数 函数原型:char *strcpy(char *dst,cha ...

最新文章

  1. 是不是一个东西_小说:他伸手一摸,摸到一块凉凉的东西,拿起来一看是个黑色牌子...
  2. 根据图片原型写一个html页面,原型图的交互说明该怎么写?
  3. MySQL整理(三)
  4. 好用的把PDF等转换为SWF的工具
  5. 查看Nginx,Apache,lighttpd,Mysql,Php的编译参数
  6. springcloud 入门 10 (eureka高可用)
  7. mysql数据库中case when 的用法
  8. 数据可视化揭晓NBA球星顶薪背后的真相
  9. 【飞秋】微软简化Visual Studio 非程序员也能开发软件
  10. 终于有人把卷积神经网络(CNN)讲明白了
  11. 使用 YOLOv5 训练自动驾驶目标检测网络
  12. win10子系统编译android,基于win10子系统ijkplayer全量编译(支持所有格式)流程
  13. 免费下载“百度文库”文档方法,简单而强大~
  14. 初级程序员晋升中级程序员,只差这7个技能
  15. 【BZOJ2069】ZAW(POI2004)-最短路+二进制分组
  16. (数论一)积性函数与狄利克雷卷积
  17. 微信链接防拦截跳转系统 微信域名防屏蔽技术
  18. 【五子棋AI循序渐进】发布一个完整的有一定棋力的版本(含源码)
  19. 蔡司影像,品阅时光:年度影像旗舰vivo X70系列发布
  20. 需求工程(Requirement Engineering)

热门文章

  1. Blender着色器纹理材质创作教程含源文件 Shader Forge
  2. ab测试nginx Nginx性能优化
  3. sysctl -p详解
  4. 华为交换机系列异常流量抑制
  5. 12.MySql关于获取当前时间的三个函数
  6. MyBaties学习记录
  7. 两台ubuntu虚拟机环境下hadoop安装配置
  8. 汉字验证码和算式验证码
  9. 【C++】algorithm具体操作记录
  10. 简明 HTML CSS 开发规范