上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 队列(Queue)字符串 实践是检验真理的唯一标准,学习也是如此。本章对栈和队列做了详细的讲解,为了让大家能够学以致用,特推出一个项目供大家练习(包含了本章所有的重要知识点)。 本项目比较烧脑,要求对栈和队列有一定深度的了解,虽有完整代码供大家参考,但是建议先自行完成,然后参照本节给出的完整代码。 阅读全文
posted @ 2018-05-13 11:20 程序员进阶笔记 阅读(4944) 评论(0) 推荐(1)
摘要: 队列是线性表的一种,在操作数据元素时,和栈一样,有自己的规则:使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列,如图1。 图1 队列示意图 称进入队列的一端为“队尾”;出队列的一端为“队头”。数据元素全部由队尾陆续进队列,由队头陆续出队列。 队列的先进先出原则 队列从一端存入数据 阅读全文
posted @ 2018-05-13 11:05 程序员进阶笔记 阅读(14817) 评论(0) 推荐(0)
摘要: 在编写代码的时候,经常会用到两种括号:圆括号 “()” 和大括号 “{}” 。不管使用哪种括号,程序编译没有问题的其中一个重要因素就是所使用的括号是否能够匹配上. 在编写程序时,括号可以嵌套,即: “({()})” 这种形式,但 “({)” 或者 “({}” 都不符合要求。括号匹配项目要求:给出任意 阅读全文
posted @ 2018-05-13 09:41 程序员进阶笔记 阅读(9314) 评论(0) 推荐(0)
摘要: 进制转换器项目要求:用户提供需要转换的数据和该数据的进制,以及要转换的进制,进制转换器提供给用户最终的正确转换的结果。 转换器实例 例如,用户提供了一个十进制数:10,要求将此数据以二进制形式转换,则通过进制转换器转换的最终结果应该:1010。 提示:此进制转换器可以在 2-36 进制之间对数据进行 阅读全文
posted @ 2018-05-13 09:28 程序员进阶笔记 阅读(1377) 评论(0) 推荐(0)
摘要: 栈,线性表的一种特殊的存储结构。与学习过的线性表的不同之处在于栈只能从表的固定一端对数据进行插入和删除操作,另一端是封死的。 图1 栈结构示意图 由于栈只有一边开口存取数据,称开口的那一端为“栈顶”,封死的那一端为“栈底”(类似于盛水的木桶,从哪进去的最后还得从哪出来)。 栈的“先进后出”原则 使用 阅读全文
posted @ 2018-05-13 09:14 程序员进阶笔记 阅读(1870) 评论(0) 推荐(0)
摘要: 数据结构栈(Stack)和队列(Queue)详解 本章讲解了两种特殊的线性表结构——栈和队列。读者要重点理解栈的“先进后出”原则和队列的“先进先出”原则,体会两种特殊的线性表结构的应用场景。 本章内容: 1. 栈(Stack)的概念和应用及C语言实现 2. 数据结构实践项目之进制转换器 3. 括号匹配算法及C语言实现 4. 队列(Queue):“先进先出”的数据结构 5. 数据结构实践项目之... 阅读全文
posted @ 2018-05-12 17:04 程序员进阶笔记 阅读(660) 评论(0) 推荐(0)
摘要: 俄罗斯轮盘赌,想必很多人都听说过,一种残忍的赌博游戏。游戏的道具是一把左轮手枪,其规则也很简单:在左轮手枪中的 6 个弹槽中随意放入一颗或者多颗子弹,在任意旋转转轮之后,关上转轮。游戏的参加者轮流把手枪对着自己,扣动扳机:中枪或是怯场,即为输的一方;坚持到最后的即为胜者。 本节实践项目同轮盘赌类似, 阅读全文
posted @ 2018-05-12 16:38 程序员进阶笔记 阅读(2599) 评论(0) 推荐(0)
摘要: 之前接触到的链表都只有一个指针,指向直接后继,整个链表只能单方向从表头访问到表尾,这种结构的链表统称为 “单向链表”或“单链表”。 如果算法中需要频繁地找某结点的前趋结点,单链表的解决方式是遍历整个链表,增加算法的时间复杂度,影响整体效率。为了快速便捷地解决这类问题,在单向链表的基础上,给各个结点额 阅读全文
posted @ 2018-05-12 11:23 程序员进阶笔记 阅读(1462) 评论(0) 推荐(0)
摘要: 链表的使用,还可以把链表的两头连接,形成了一个环状链表,称为循环链表。 和它名字的表意一样,只需要将表中最后一个结点的指针指向头结点,就形成了一个环。 图1 循环链表 循环链表和动态链表相比,唯一的不同就是循环链表首尾相连,其他都完全一样。 实际应用:约瑟夫环问题 约瑟夫环问题,是一个经典的循环链表 阅读全文
posted @ 2018-05-12 11:04 程序员进阶笔记 阅读(3023) 评论(0) 推荐(0)
摘要: 本节继续介绍线性表的另外一种链式表示——静态链表。(前面介绍的链表称为 动态链表 )。逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。 静态链表和动态链表的区别:静态链表限制了数据元素存放的位置范围;动态链表是整个内 阅读全文
posted @ 2018-05-12 10:50 程序员进阶笔记 阅读(8448) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页