自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 (十三)栈的应用 --- 迷宫解题五行八卦阵

迷宫解题迷宫解题是我最喜欢的栈的实际应用,可以用来做一些外挂,具体什么外挂?呵呵。。自己好好想想。这个迷宫能走出来吗?我想99.999%的人都能够解出来。用笔沿着空白处画,路不通折回去再走下一条路,直到出口处。这里我们用的是穷举法,但是如何让计算机按照我们的思维进行路径选择呢?这就可以用到我们的栈结构了。栈能够依次保留你所经过的路径,并能够遇到死胡同后按照原路返回。下边就说一下思路。如何判定方向? 从入口位置按照固定的方向行走,比如约定第一步向左,如果不通,则向下,不通再向右,不通最后向上。这

2020-06-27 20:32:05 663

原创 (十二)栈的应用 --- 行编辑器

行编辑器简单的行编辑器,接收用户从终端输入的程序或数据,并存入用户的数据区域。由于用户在输入的时候不能保证百分之百正确,所以约定输入#代表删除#前一个字符,输入@时,代表@前边的字符全部删除。遇到回车或者EOF(Ctrl + z)时推出行编辑。例如:输入cannds###gjid#ngkod#nd#g,按回车,显示cangjingkong。输入Helloworld@xiaodao,按回车,显示xiaodao。重点行编辑程序不难,主要用到pop,push,clearstack几个函数。打印输

2020-06-26 19:49:28 862

原创 (十一)栈的应用 --- 括号匹配检查

括号匹配检查假设表达式中允许包括 “{ [ ( <” 四种括号,且括号必须成对出现,可以随意嵌套,但是顺序不能错。例如:[()()()]、()<{}[()()()]>等这种是正确的,[()>]<、(()])这些事不正确的。如果链表为空,第一个出现的就是右括号,则直接退出。如果是出现的左括号,则直接压栈。在后续的过程中只要出现右括号,就判断栈尾括号是否与之匹配,如果匹配就弹出栈,否则就逃过。最后如果栈为空则说明括号完全匹配,如果栈不为空则说明输入的括号不是成对或者顺序出现错误

2020-06-24 22:23:03 401

原创 (十)栈的应用 --- 十进制转换为其他进制

栈的应用 十进制转换为其他进制的方法栈,为我们提供了LIFO数据存储方法,但是这种方法到底有什么实际价值呢?如果你学过汇编语言,就会发现栈真的very very important。windowns中的函数调用之所以能够完成,就是用了栈的存储方式,想一想,为什么执行完函数或者过程后,就会紧接着执行函数下边的语句?有的人说了,你写的代码就是一行挨着一行,当然顺序执行了。或许你这种说法没有问题,但是从程序底层探究一下,你就会发现windows是采用栈的方式来操作函数。简单的说,在执行函数的时候,先将程序在

2020-06-23 21:17:18 1265

原创 (九)栈(链式存储)-- 拉个链链,盘他!

栈(链式存储)栈的链式存储书上没有,没有!但是不能影响我们前进的脚步。盘他!栈的链式存储实际上就是单链表,仅仅在尾部操作,这就是重点。1.结构链式存储,当然要典型的链表的结构typedef int SElemType;typedef struct SingleList{ SElemType data; struct SingleList* next;} SList;然后再添加一个栈的结构,这个全局结构记录了栈的关键信息。typedef struct{ SList* top;

2020-06-21 15:21:51 151

原创 (八) 栈 ---- 栈是个好东西,为什么呢?

栈栈是个好东西,为什么呢?因为,站着说话不腰疼!!!栈(stack)是限定仅在表尾进行插入或者删除操作的线性表。因此,对栈来说,表尾端有其特殊的含义,称为栈顶(top),相应的,表头端称为栈底(bottom)。不含元素的空包称为空栈。栈的特点为尾端数据后进先出(Last In First Out,简称LIFO结构)。栈的存储类型有两种,一种是线性存储,即开辟一段连续的存储空间,与数组类似,利用top,bottom指针进行操作,一般情况下这种方式使用的是最多的。另外一种是栈的链式存储,这种存储方式用的

2020-06-20 23:00:16 184

原创 (七)拉丁方阵 --- 想当年欧拉思考人生的时候遗留的产物

拉丁方阵拉丁方阵是一个N*N方阵,方阵中刚刚好有N中不同的数值,而且有N个。现在要求每个数值在其对应的行和列中只能出现一次。ok,问题就是这个,就到这里,再往下什么正交拉丁方阵,我们先不去研究,就做一个简单不能再简单的拉丁方阵。思路:利用循环链表,每次输出完毕后,指针向后移动一位,总共移动N次。搞定。代码不难,我就不解释了,如下:#include<stdio.h>#include<stdlib.h>typedef struct node{ int data;

2020-06-18 20:07:52 419

原创 (六)循环链表 魔术师发牌 ---- 见证奇迹的时刻到了

魔术师发牌舞台上:魔术师利用一副牌中的13张黑桃牌(其实神马花色都行),预先给他们排好后叠在一起,肯定是有固定的顺序,牌面朝下面,对观众们说“我不看牌,只需要数一数就可以猜到每张牌是什么~。”然后呢,魔术师讲最上面的那张牌数为1 ,把它翻过来正好是黑桃A,将黑桃A放在桌子上,第二次数1,2,将第一张牌放在这些牌的下面,将第二张牌翻过来 正好是黑桃2 ,也将它放在 桌子上 ,这样,依次进行下去,13张牌被全部翻出,而且 准确无误。实际上是这样的。一开始,把有序叠好的牌放在桌面上铺好 一列, 最上面的那张

2020-06-17 22:05:46 144

原创 (五)循环链表实例 约瑟夫问题 --- 他们怎么老想不开(心机BIAO)?

约瑟夫问题据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直

2020-06-17 20:07:07 164

原创 (四)双向链表 ---小盆友们左手拉一个右手拉一个围个圈圈

(四)双向链表双向链表和循环链表差不多,简单的理解就是,它比循环链表多了一个环,向前一个环,向后一个环,就像小盆友们,手拉手,围城一个圆圈。双向链表的遍历可以选择向前或向后,都可以。在打印链表的时候,采用next指针和prev指针可以简单实现逆向输出。1.结构的变化从上图可以看到循环链表的结构和双向链表的结构来看,双向链表的结构多了一个prev的指针。typedef struct DLoopList{ int data; struct DLoopList* next; struct

2020-06-15 23:25:27 243

原创 (三)循环链表 --- 你咋能老看着我呢

循环链表循环链表一个比较特殊的单链表,与单链表不同的地方是,最后一个节点的next指针指向第一个元素,形成一个环形,就是循环链表。还有一个特点,就是从任一节点出发均可找到表中的其他节点。见下图。但是如果一个链表中只有一个元素该如何表示?不难,见下图。看到了没有,就是这样,自己和自己玩。好了,用代码描述一下。1. 结构循环链表的结构和单链表的结构一样。typedef struct LoopList{ int data; struct LoopList* next;} LoopList

2020-06-13 21:57:14 169

原创 (二)单链表 ------- 其实没有那么难

单链表单链表比较静态链表更加灵活,长度可变,删除便捷,唯一较单链表费时就是查询,不能下标查询。但是总体上比静态链表有了质的飞跃。单链表最核心的就是指针的灵活使用,以及对较为特殊结构的理解。typedef struct SingleList{ int data; struct SingleList* next;} SList;另外单链表分为含有头节点的链表和没有头节点的链表,插入 方法有头插法和尾插法。我这里按照有头节点的链表进行演示,分别进行头插法和尾插法,以及常用的增删改查。先定义si

2020-06-06 13:44:43 312

原创 (一)静态链表

静态链表重新学习一下数据机构算法,同时再回顾一下C的用法,以后也用C++。用结构加数组方式模拟指针,这种数据结构不经常使用,但是个别时候可以借鉴。关键的是链表初始化约定,第0个元素、最后一个元素的含义,以及数据最有一个元素的cur必须为0,类似链表最后一个元素p->next = NULL.。#include <stdio.h>#include<time.h>#include<stdlib.h>#define MAXSIZE 11#define ER

2020-05-31 22:12:57 195

Powerbuilder PFC 教程

Powerbuilder PFC 培训文档,可以快速开发Powerbuilder。

2015-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除