![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线性表
文章平均质量分 55
小心眼儿猫
这个作者很懒,什么都没留下…
展开
-
C语言实现单链表的增删查改
链表:一种链式存储的线性表,用一组地址任意的存储单元存放线性表的数据元素,称存储单元为一个节点。 链表分类:单链表双链表双向循环链表代码实现单链表的增删查改: linklist.h文件#pragma once#include<stddef.h>typedef char LType;typedef struct LinkNode{ //数据...原创 2018-03-25 15:23:06 · 17560 阅读 · 0 评论 -
单链表的相关面试题(一)
以下内容接《C语言实现单链表的增删查改》有需要者自行戳链接查看 linklist.h文件新增内容//冒泡排序void linklistBubbleSort(LinkNode *head);//找出中间节点LinkNode *FindMidNode(LinkNode *head);//找倒数第K个节点LinkNode *FindLastKNode(LinkNode *head,siz...原创 2018-04-07 13:58:16 · 300 阅读 · 0 评论 -
回溯法求解简单迷宫(C语言)
前两天学习了栈和队列的相关知识,今天来看一下如何用栈来走出迷宫。 先来一个迷宫:0表示墙(不能走),1表示路(能走)为便于观察我将这里可走的路用红色标记一下 前面收到我们要使用栈的相关知识来走出这个迷宫,下面就正式开始来说一说怎么解决迷宫问题。 方法一:使用函数本身的栈。我们都知道调用一个函数时,该函数都会形成自己的函数调用栈,当函数调用结束返回以后,该栈结构就会随之消失,而这里的调用栈的原创 2018-04-21 11:19:07 · 4159 阅读 · 0 评论 -
判断元素出栈入栈顺序的合法性(C语言)
题意:假设有字符串1**abcde**和字符串2**bceda**,试判断是否能以字符串1的入栈顺序得到字符串2的出栈顺序。思路: 步骤1:先将字符串1的第一个字符入栈: 步骤2:将该元素与字符串2的下一个元素进行比较 步骤3: a):如果相等,就将该元素出栈并且将字符串1的下一个字符入栈,与字符串2的下一个字符进行比较。 b):如果不相等,继续将字符串1的...原创 2018-04-17 20:43:50 · 5941 阅读 · 0 评论 -
通过一个数组实现两个栈(C语言)
通过一个数组实现的两个栈也叫作共享栈。我们可以将一个数组一分为二,供两个栈使用。 也有另外一种虽然也是讲一个数组一分为二供两个栈使用,但在具体实现上有所不同。 牢记栈1的区间是[0,top1)的左闭右开区间,栈2的区间是[top2,max_size)的左闭右开区间。其中的top1位置并不存放栈1的值,而max_size是数组的边界值也取不到。 正式由于两个栈的区间的取值,所以当top1与...原创 2018-04-17 20:06:01 · 2449 阅读 · 0 评论 -
通过两个队列实现一个栈(C语言)
stackBy2Queue.h文件#pragma once#define max_size 1000typedef char DataType;typedef struct Queue{ DataType data[max_size]; int head; int tail; //队列中有效元素个数 int size;}Queue;...原创 2018-04-16 23:42:01 · 9613 阅读 · 1 评论 -
C语言实现双向链表的增删查改
定义一个带头节点的双向链表需要一个数据域两个指针域,其中一个next指针是指向当前节点的下一个节点,另外一个prev指针是指向当前节点的前一个节点。如下图所示: 该头结点本质上只是一个傀儡节点并无实际用处,带头节点的好处就是我们在实际操作链表时不用考虑头指针的指向。而双向链表的前后指针域也大大方便了我们对于链表的实际操作。 代码示例: DBlinklist.h文件#pragma ...原创 2018-04-03 22:35:04 · 3471 阅读 · 2 评论 -
C语言实现基于顺序表的队列
队列:有且仅有三种操作:入队列,出队列,取队首元素。 只允许从一端进行插入数据操作(入队列),从另一端进行删除数据操作(出队列)或者取队首元素操作。进行插入操作的这一端叫做队尾,进行删除操作的这一端叫做队首。 特点:先进先出代码实现:seqQueue.h文件#pragma once#define Max_Size 100typedef char QueueType;typedef struct原创 2018-04-10 01:21:20 · 550 阅读 · 0 评论 -
C语言实现顺序栈
栈:是一种特殊的线性表,我们只能对栈 的固定的一端进行插入和删除元素操作。这固定的一端被称之为栈顶,另外一端就叫做栈底。如果一个栈中没有任何元素就将其称为空栈。 特性:先进后出(后进先出) seqstack.h文件#pragma once#include<stddef.h>typedef char seqStackType;typedef struct se...原创 2018-04-07 23:10:50 · 6136 阅读 · 1 评论 -
多通路带环和不带环迷宫求最短路径(C语言)
求解了简单迷宫,接下来我们来看一看多通路的带环和不带环的迷宫求最短路径的问题。 问题一:不带环的多通路迷宫求最短路径 思路: 1、给定一个点,判断该点是否能落脚,不能落脚直接返回 2、能落脚就将这个点标记,并且入栈cur_path,该栈中保存着我们走过的路径 3、判断这个点是否为出口,是出口说明找到了一条路 4、此时cur_path栈中保存着我们走过的这条路,将cur...原创 2018-04-21 22:20:55 · 493 阅读 · 0 评论