随笔分类 -  C/数据结构

关于C语言实现的数据结构问题
CTF-Mayday
摘要:打开下载的Mayday.txt文件: 温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温 阅读全文
posted @ 2019-05-31 18:28 0xcreed 阅读(196) 评论(0) 推荐(0)
制作DNS字典
摘要:1.收集字典 一般kali自带的DNS爆破工具都会有自己的字典,使用 dpkg -L dns爆破软件名 查询字典的路径。txt文件一般是字典。 合并到一个txt文件中。 2.删除字典中重复的字符串 3.将windows文件转换成linux文件 windows和linux的换行符不一样,具体自行必应。 阅读全文
posted @ 2019-03-23 20:53 0xcreed 阅读(438) 评论(0) 推荐(0)
串的匹配算法之朴素算法
摘要:朴素算法,即不对子串进行预处理。 利用朴素算法我们可以在主串中寻找子串出现的次数。 代码一: 代码二: 定义两个指针p,q;p指向主串首地址,q指向子串首地址。 如果对应的字符相等,那么++p,++q,即两个指针都向后移一个单位再继续比较*p和*q, 否则q回到子串的首地址,只把指针p向后移动一个单 阅读全文
posted @ 2019-03-22 22:31 0xcreed 阅读(325) 评论(0) 推荐(0)
栈与递归
摘要:递归的概念 栈的一个典型应用是程序设计中的递归过程的设计与实现,用栈来保存调用过程中的参数和返回地址。 递归过程(或函数)就是子程序或函数中直接或间接的调用自己。 递归定义实例: 1.某人祖先的递归定义: 某人的双亲是他的祖先[基本情况] 某人祖先的双亲同样是某人的祖先[递归步骤] 2.阶乘函数 3 阅读全文
posted @ 2019-03-22 21:46 0xcreed 阅读(1552) 评论(0) 推荐(0)
顺序队列(C语言)
摘要:1 #define Queue_MAX_SIZE 20 2 #define OK 1 3 #define ERROR 0 4 #include 5 #include 6 typedef int QueueType; //队列元素类型 7 typedef struct 8 { 9 QueueType *pBase; //队列指针 10 ... 阅读全文
posted @ 2019-03-17 10:20 0xcreed 阅读(402) 评论(0) 推荐(0)
栈的简单应用-迷宫问题
摘要:迷宫问题 迷宫问题一直是计算机工作者感兴趣的问题,因为它可以展现栈的巧妙应用, 这里将利用栈开发一个走迷宫程序,虽然在发现正确路径前,程序要尝试许多 错误路径,但是,一旦发现,就能够重新走出迷宫,而不会再去尝试任何错误路径。 迷宫问题求解 计算机中可以用如图所示的方块图表示迷宫。图中空白方块为通道, 阅读全文
posted @ 2019-01-19 23:22 0xcreed 阅读(2219) 评论(0) 推荐(1)
栈的简单应用-行编辑
摘要:任何一个程序设计语言对应的编译程序都有如下几个主要部分组成: 词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。 行编辑程序就是词法分析的内容。在编辑程序中,如果每次输入一个字符 就输入到计算机进行编辑太复杂。一般以行为单位来对文本进行编辑,这也是 在书写计算机程序指令时,一直遵循 阅读全文
posted @ 2019-01-09 11:37 0xcreed 阅读(622) 评论(0) 推荐(0)
栈的简单应用-括号匹配
摘要:假设表达式中运行包含两种括号:圆括号和方括号,其嵌套顺序随意,即 ([]) 或 [([][])]等均为正确的格式。[(]) 或 ([()) 或 (())]均为不正确的格式。检验括号 匹配的方法可以用“期待的急迫程度”这个概念来描述 分析可能出现不匹配的情况: (1)到来的右括弧不是所“期待”的; ( 阅读全文
posted @ 2019-01-08 21:05 0xcreed 阅读(539) 评论(0) 推荐(0)
栈和线性表的简单应用-数制转换
摘要:栈结构具有后进先出的特点,是程序设计中的有用工具 我们先来看看进制转换的过程 如图: 可以看出 整数部分符合后进先出的特点,可以应用栈结构 小数部分先进先出,可以应用线性表 栈的头文件 sqstack.h 线性表的头文件 sqlist.h 源代码: 合理的使用数据结构可以使代码跟易读,易懂。栈的引入 阅读全文
posted @ 2019-01-05 15:11 0xcreed 阅读(328) 评论(0) 推荐(0)
顺序表的基本操作
摘要:1 //顺序线性表 2 #include 3 #include 4 #define LIST_INIT_SIZE 100 //线性表储存空间的初始分配量 5 #define LISTINCREMENT 10 //线性表储存空间的分配增量 6 #define OK 1 7 #define ERROR 0 8 typedef double ElemType... 阅读全文
posted @ 2019-01-05 13:46 0xcreed 阅读(552) 评论(0) 推荐(0)
链栈的基本操作(C语言)
摘要:栈的链式储存结构称为链栈。链栈的节点类型与链式线性表的节点类型 定义相同,不同的是它是仅在表头进行操作的单链表。链栈通常用不带头节 点的单链表来实现,栈顶指针就是链表的头指针 ,如图所示: 代码如下: 我写的这个链栈的代码 稍微修改了一点 --把栈顶指针与count 组成一个结构体 count用来储 阅读全文
posted @ 2019-01-02 12:15 0xcreed 阅读(5487) 评论(0) 推荐(0)
双向循环链表涉及双向指针的基本操作(C语言)
摘要:链表大概分为有无头指针,有无尾指针,是否循环,单向还是双向, 这些都很简单,前提是你要把指针和单链表理解透彻。这些都是基于单链表 的变形,要根据实际问题,选择链表的类型。 头指针的指针域储存着储存头节点的地址,其数据域我们不使用。 尾指针同理。 循环链表的最后一个节点指向头节点(如果有头指针,则是指 阅读全文
posted @ 2018-12-20 16:56 0xcreed 阅读(846) 评论(0) 推荐(0)
顺序栈的基本操作(C语言)
摘要:由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址 但是这种用法好像C并不支持 ,C++才支持,所以用 C语言写就需要使用指针 代码如下: 第39行 p->top = p->base + p- 阅读全文
posted @ 2018-12-19 23:21 0xcreed 阅读(10627) 评论(0) 推荐(0)
单链表的反转
摘要:对于链表的反转我开始的思路是循环遍历链表,找到最后一个节点,将其从原链表剔除再将其接在新链表的尾节点后面 但是这个方法很耗费时间! 在书上我看到了一个跟简单的方法:每次将头指针的下一个节点放在新链表头节点后面 代码如下: 阅读全文
posted @ 2018-12-10 17:17 0xcreed 阅读(146) 评论(0) 推荐(0)
单链表的排序
摘要:最近学了单链表,遇到了一些问题 ,和大家分享一下! 首先看一下带头指针的单链表示意图: 从中可以看到链表的每一个节点(除了尾指针)都有一个指针指向下一个节点(头指针只有只保存了该链表的地址),尾指针指向空。 所以我们要对链表中的某个节点进行操作的话,基本上要使用到该节点的前驱节点和后驱节点。(节点2 阅读全文
posted @ 2018-12-06 09:09 0xcreed 阅读(20026) 评论(0) 推荐(0)