数据结构,堆栈基本原理;

数组,堆栈,结构体等系列,数据结构间区别联系;

在此我就不饶了,直接上大白话(我总认为干些实事,比扯淡强....),故事虚构,若有雷同,请你下方留言;

ruiy讲的,所跑的托:

OS,均是POSIX-linux,win暂未考虑,留个亲你....,

Language,暂是C,改天CPP;

others,不强制,你自由发挥;

结构体不能用下标访问,原因在于结构体的各元素成员虽是依序存储的,但每个成员的sizeof()不同-类型不同,因此只能用->,&,*运算符来操作;

数组的各成员元素是依序存储的,同时各个元素的sizeof(),类型一致,因此提供用下标访问且随机;

我们都知道数据结构最重要的一层含义在数据的组织方式,数据组织方式包含2个层面:数据的访问,存储方式;

堆栈同样是一组数据元素的结合,

堆栈的访问规则被限制为Push和Pop两种操作,Push(入栈或压栈)向栈顶添加元素,Pop(出栈或弹出)则取出当前栈顶的元素,也就是说, 只能访问栈顶元素而不能访问栈中其它元素。如果所有元素的类型相同,堆栈的存储也可以用数组来实现,访问操作可以通过函数接口提供;

堆栈,简单案例

http://files.cnblogs.com/ruiy/strings-reverse.zip

注,在代码中数组stack[]是堆栈的存储空间,top保存堆栈栈丁的下一个元素的下标(在此我们根据习性将top叫做栈顶指针),top总是指向栈顶的下一个元素,Push和Pop操作总是维持这个条件不变;

运行完上述小例后,你应该明白,堆栈的最显眼的结构特点:你要是运行完了说不知道,我都不抽你了,自己抽去,我简单说下那就是LIFO,你也许也知道了FIFO,亲,我只能说你很棒;

亲,在上面我们又知道现实世界存在特权(eg,银行办理业务取号,你没钱的小子和人家大款一样吗?可别忘了,银行存在大客户专区,(你别看你屁颠屁颠的比人家开路虎的来的早了,你还说你啥大清早就来了,还没吃饭呢啥的?)说白了那就是prority,到此天平开始无条件,无底线的倾斜了....),计算机编程中同样存在此种,无独有偶,诸事源于现实世界,亲,悉心洞察世事,敏感无厘头发挥你的想象力;

递归

其实简单for循环就能搞定字符串倒序打印了

(注,对于数组来说确实没必要搞这么复杂又递归又堆栈的,因为数组既可以从前向后访问也可以从后向前访问,甚至可以随机访问,但有些数据结构的访问并没有这么自由)

易维ruiy_ccs

给出的代码load请访问以下链接,别的像局域网本地,yum-repo,端口扫描,在线机器MAC--对应ip留存,.....当前新添加的功能语句未update;

http://files.cnblogs.com/ruiy/ruiy_ccs.zip;

variable PK/VS loop invariant

tool的更多相关文章

  1. [免费了] SailingEase .NET Resources Tool (.NET 多语言资源编辑器)

    这是我2010年左右,写 Winform IDE (http://www.cnblogs.com/sheng_chao/p/4387249.html)项目时延伸出的一个小项目. 最初是以共享软件的形式 ...

  2. jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the install tool.

    jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the ...

  3. mtk flash tool,Win7 On VirtualBox

    SP_Flash_Tool_exe_Windows_v5.1624.00.000 Win7 在 VirtualBox, 安裝 mtk flash tool, v5.1628 在燒錄時會 fail. v ...

  4. 使用Microsoft Web Application Stress Tool对web进行压力测试

    Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法.Web 压力测试通常是利用一些工具,例如微软 ...

  5. How to Use Android ADB Command Line Tool

    Android Debug Bridge (adb) is a tool that lets you manage the state of an emulator instance or Andro ...

  6. 使用MAT(Memory Analyzer Tool)工具分析dump文件--转

    原文地址:http://gao-xianglong.iteye.com/blog/2173140?utm_source=tuicool&utm_medium=referral 前言 生产环境中 ...

  7. Linux Cmd Tool 系列之—script & scriptreplay

    Intro Sometime we want to record cmd and outputs in the interactive shell sessions. However history ...

  8. [Tool] SourceTree操作中遇到错误(Filename too long)的解决方案

    [Tool] SourceTree操作中遇到错误(Filename too long)的解决方案 问题情景 使用SourceTree,可以方便开发人员使用图形化接口的Git指令来管理原始码.但是在Wi ...

  9. You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1

    今天在Windows Server 2008 下安装SQL SERVER 2008时,碰到如下错误: You must use the Role Management Tool to install ...

  10. 软件卸载工具 Uninstall Tool 3.5.1 中文破解版

    Uninstall Tool 是一个小巧.安全.快速.强大的软件卸载删除工具,它支持在使用软件本身的卸载程序卸载完毕后,再扫描软件残留的注册及其它残余文件,将其彻底在系统删除!安装监视器可以监视每个应 ...

随机推荐

  1. 2014年度辛星html教程夏季版第七节

    经过前面六节的学习,我们大致清楚了HTML教程中的基础内容,那么接下来我们开始继续向后推进,可以说,下面我们介绍一下HTML中的区块. ***************区块*************** ...

  2. 2D UI和3D UI的工作原理

    2D UI的工作原理 UI控件的位置在UI Root 的红框(视窗)上,也就是UI控件的z轴,相机的z轴,UI Root的z轴都是0,因为2D UI都是纯粹的2D图片按层次显示,不会不出现三维立体效果 ...

  3. 粗略阅读《Agile Software Development》后的感想

    大致配合翻译和词典阅读了一下这篇文章之后,我另外还查阅了维基百科.百度百科和MBA智库百科还有一些网络上的文章.对敏捷开发有了一个大致上的浅显的认识. 敏捷建模(Agile Modeling,AM)的 ...

  4. display:inline-block元素间空白间隙问题

    display:inline-block元素间有空白间隙,可以在父元素上加font-size:0

  5. 如何获取HttpServletResponse里面的内容

    背景:在SPRING 框架之中, 有一个服务端需要提供多种形态的服务,这里的多种形态只是返回值得展示形式(其实 数据内在逻辑完全一样), 比如: 形式1:   JSONP({“key1”: value ...

  6. ConfigParser读取记事本、notepad++修改后的配置文件会出现:ConfigParser.MissingSectionHeaderError

    使用ConfigParser来读取配置文件,经常会发现经过记事本.notepad++修改后的配置文件读取时出现下面的问题: ConfigParser.MissingSectionHeaderError ...

  7. PIL(Python Image Library)生成验证码

    # -*- coding: utf-8 -*-#导入三个模块import Image,ImageDraw,ImageFontimport randomimport math'''基本功能'''#图片宽 ...

  8. android 在Fragment里添加Theme主题

    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanc ...

  9. android 开发adb server is out of date 解决方案

    查看到底是哪个端口给占用了 输入红色部分命令 C:\Users\xxxxxx>netstat -ano | findstr "5037" TCP    127.0.0.1:5 ...

  10. [wikioi]合并果子

    http://wikioi.com/problem/1063/ 这题是贪心+堆.主要想练习一下堆的写法.算法导论里的方法名是heapify()等,但大家经常用更直观的down(), up()方法(向上 ...