
数据结构
骆驼胡杨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
队列的算法实现[数组法]
采用数组来保存队列的元素,设立一个队首指针 front ,一个队尾指针 rear,分别指向队首和队尾元素。则 rear-front 即为存储的元素个数! #include <iostream> #include <Windows.h> using namespace std; #define MAX_SIZE 5 //队列中最大元素 typedef int DataType; //队列中数据类型 //定义一个队列 typedef struct SeqQueue { Data原创 2021-08-22 10:35:43 · 169 阅读 · 0 评论 -
双向链表的实现
定义一个双向链表 // 定义双向链表 typedef struct LinkNode { int data; //数据域 LinkNode *next; //下一个节点 LinkNode *last; //上一个节点 }LinkNode, //节点域 LinkList; //头结点 初始化空的双向链表 // 初始化空的双向链表 bool List_Init(LinkList *&list) { list = new LinkNode; if (!list) return fa.原创 2021-08-14 22:25:57 · 87 阅读 · 0 评论 -
循环链表的算法实现
有 10 个小朋友按编号顺序 1,2,。。。,10 顺时针方向围成一圈。从 1 号开 始顺时针方向 1,2,。。。,9 报数,凡报数 9 者出列(显然,第一个出圈为 编号 9 者)。 最后一个出圈者的编号是多少?第 5 个出圈者的编号是多少? main.cpp #include <iostream> #include <Windows.h> using namespace std; //定义一个循环链表 typedef struct LinkNode { int data;原创 2021-08-13 16:43:55 · 188 阅读 · 0 评论 -
单链表算法实现, 查找, 删除, 销毁
从链表指定位置读取参数 /************************** * 从链表中查找第i个元素 * 用e来保存查找元素的数据 * 指定位置读取参数: * list: 头节点 * i: 要读取的位置 * e: 保存读取的元素 ***************************/ bool Link_GetElem(LinkList *&list, int i, int &e) { if (!list) return false; // 传递空值 int index原创 2021-08-09 22:01:39 · 938 阅读 · 0 评论 -
单链表在任意位置插入元素
#include <iostream> #include <Windows.h> using namespace std; //定义一个链表 typedef struct LinkNode { int data; //链表节点的数据域 LinkNode *next; //链表节点的指针域 } LinkNode, //链表节点的指针域 LinkList; //链表头节点, 指向LinkNode节点 bool listInit(LinkList *&list.原创 2021-08-07 15:18:34 · 2907 阅读 · 0 评论 -
顺序表企业级应用
高并发 WEB 服务器中顺序表的应用 高性能的 web 服务器 Squid 每秒可处理上万并发的请求,从网络连接到服务器的客 户端与服务器端在交互时会保持一种会话(和电话通话的场景类似)。服务器端为了管 理好所有的客户端连接,给每个连接都编了一个唯一的整数编号,叫做文件句柄,简称 fd. 为了防止某些恶意连接消耗系统资源,当某个客户端连接超时(在设定的一定时 间内没有发送数据)时,服务器就需要关闭这些客户端的连接 具体实现方案: 当有新的请求连到服务器时,如果经过服务器频率限制模块判断,貌似恶意连 接,则原创 2021-08-04 10:29:32 · 74 阅读 · 0 评论 -
顺序表删除元素
#include <iostream> #include <Windows.h> #include <string> using namespace std; #define MAX_SIZE 100 typedef struct { int *elems; //顺序表的基地址 int length; //顺序表的长度 int size; //顺序表总空间大小 } Sqlist; bool initList(Sqlist &list) { .原创 2021-07-31 20:43:14 · 255 阅读 · 0 评论 -
顺序表销毁
顺序表销毁之后不可进行添加数据, 插入数据, 以及删除数据等操作 #include <iostream> #include <Windows.h> #include <string> using namespace std; #define MAX_SIZE 100 typedef struct { int *elems; //顺序表的基地址 int length; //顺序表的长度 int size; //顺序表总空间大小 } Sqlist; boo原创 2021-07-24 23:31:22 · 3391 阅读 · 1 评论 -
顺序表插入元素
顺序表在插入元素时应注意: 1. 插入元素不可以插在第一个位置和最后一个位置 2. 插入元素不可以插在超过顺序表的长度 代码实现 #include <iostream> #include <graphics.h> #include <Windows.h> using namespace std; #define MAX_SIZE 100 typedef struct { int *elems; //顺序表的基地址 int length; //顺序表的长.原创 2021-07-23 09:41:58 · 5980 阅读 · 0 评论 -
顺序表增加元素
顺序表增加元素: 从基地址开始,往后逐个增加 main.cpp #include <iostream> #include <graphics.h> #include <Windows.h> using namespace std; #define MAX_SIZE 5 //定义一个顺序表 typedef struct { int *elems; //顺序表的基地址 int length; //顺序表的长度 int size; //顺序表总空间大小 }原创 2021-07-22 17:19:33 · 574 阅读 · 0 评论 -
顺序表的原理与初始化
顺序表是简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以 快速定位第几个元素,中间不允许有空值,插入、删除时需要移动大量元素。 顺序表的三个要素: 用 elems 记录存储位置的基地址 分配一段连续的存储空间 size 用 length 记录实际的元素个数,即顺序表的长度 结构体定义 #define MAX_SIZE 100 //表示顺序表的空间大小 struct _SqList{ ElemType *elems; // 顺序表的基地址 int length;原创 2021-07-22 11:28:57 · 535 阅读 · 0 评论