数据结构
文章平均质量分 52
苡荏
- 闻道有先后
- |计算机科学与技术双非本科在读|考研中。
展开
-
查找单链表中间位置结点(进阶算法) 数据结构 C语言版
查找单链表的中间位置1.实现方法2.代码实现3.单链表链式存储基本操作1.实现方法利用两个指针进行移动,一个为快指针,每次移动向前移动两位,一个为慢指针,每次向前移动一位当快指针移动到链表的最后时,慢指针刚好到达中间位置当链表中有n个元素时 返回第n/2+1个元素,即n为奇数时 返回中间元素 n为偶数时 返回中间靠后一个元素结点2.代码实现/*找出链表的中间位置*/LinkList GetMidelem(LinkList L){ LinkList ptr1 = L;原创 2021-11-03 11:33:18 · 969 阅读 · 0 评论 -
解决关于单链表中存在环的问题 数据结构 C语言版
解决关于单链表中存在环的问题1.单链表中环的概念2.快慢指针判断是否存在环3.环的起始结点4.环的长度5.单链表链式存储基本操作1.单链表中环的概念所谓单链表中存在环 即在单链表中存在某个结点的指针指向的下一结点为其前方的某个结点位置从而形成一个封闭的环状2.快慢指针判断是否存在环Status HasLoop(LinkList L){ LinkList slowPtr = L; //满指针每次移动1位 LinkList fastPtr = L; //快指针每次移动2位原创 2021-11-01 10:05:19 · 244 阅读 · 0 评论 -
线性表求元素并集、交集 (顺序存储) 数据结构C语言版
线性表的交并实现0.初始定义1.交集(A = A∩B)2.并集(A = A∪B)3.线性表顺序结构基本操作说明0.初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define LIST_INIT_SIZE 100 //初始分配量#define LISTINCREMENT 10 //增量typedef int Status;typede原创 2021-10-30 18:00:00 · 4849 阅读 · 3 评论 -
静态链表 数据结构C语言版
静态链表相关操作实现0.说明1.初始定义2.创建空表3.获取使用长度4.添加数据5.添加数据6.静态链表遍历7.空间释放8.获得空闲分量9.查找操作10.插入操作11.删除操作输入举例0.说明最后一个游标为第一个有数据元素的下标第一个游标为第一个没有元素的下标其他游标为下一元素的下标第一个和最后一个不存放数据1.初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#def原创 2021-10-31 06:00:00 · 116 阅读 · 0 评论 -
有序顺序表的合并 数据结构C语言版
非递减有序排列顺序表的合并1.解一2.解二3.优化4.线性表顺序结构基本操作说明1.解一//排序函数void RankList_Sq(SqList &L){//非递减有序排列 //对线性表L数据非递减排序 int *p,*q; for(p = L.elem;p<L.elem+L.length-1;p++){ for(q = p+1;q<=L.elem+L.length-1;q++){ if(*p>=*q){原创 2021-10-30 06:00:00 · 344 阅读 · 0 评论 -
循环双向链表基本操作实现(双向链表改进) 数据结构 C/C++
循环双向链表基本操作1.初始定义2.初始化双向循环链表3.输入指定长度数据4.插入元素操作5.删除元素操作7.遍历打印元素(正序)8.遍历打印元素(逆序)9.双向链表操作实现1.初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct原创 2021-10-29 06:00:00 · 108 阅读 · 0 评论 -
双向链表基本操作实现 数据结构 C/C++
双向链表基本操作实现1.初始定义2.初始化循环链表3.输入指定长度数据4.插入元素操作5.删除元素操作6.遍历打印元素1.初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct DualNode{ ElemType data;原创 2021-10-28 06:00:00 · 160 阅读 · 0 评论 -
循环链表解决拉丁方阵问题 数据结构 C/C++
循环链表解决拉丁方阵问题1.拉丁方阵2.问题描述3.main函数4.打印拉丁方阵代码5.循环链表基本操作实现1.拉丁方阵拉丁方阵(英语:Latin square)是一种 n × n 的方阵,在这种 n × n 的方阵里,恰有 n 种不同的元素,每一种不同的元素在同一行或同一列里只出现一次。2.问题描述输入:n个数据元素输出:对应拉丁方阵输入: 2 5 8 10输出:2 5 8 105 8 10 28 10 2 510 2 5 83.main函数int main(){ CL原创 2021-10-27 06:00:00 · 259 阅读 · 0 评论 -
循环链表连接两个单链表 数据结构 C语言版
循环链表连接两个单链表1.2.3.循环链表基本操作说明4.单链表基本操作说明1.2.3.循环链表基本操作说明点击查看:循环链表实现及基本操作4.单链表基本操作说明点击查看:单链表连式存储相关操作——————END——————作者注:记录学习,分享经验。有兴趣可以关注博主,以后还会持续更新内容哦~...原创 2021-10-27 06:00:00 · 556 阅读 · 0 评论 -
有序单链表合并 数据结构C语言版
有序链表合并0.题目分析1.初始定义2.代码实现3.线性表顺链式基本操作说明0.题目分析头指针为La Lb的有序单链表,归并两单链表为Lc,保持有序性La = 1,3,4,9,11Lb = 6,7,8,10,12Lc = 1,3,4,6,7,8,9,10,11,121.初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typ原创 2021-10-26 07:41:26 · 436 阅读 · 0 评论 -
循环链表实现约瑟夫问题 数据结构 C/C++
循环链表实现约瑟夫问题1.打印序列2.主函数3.循环链表基本操作1.打印序列void PrintCList(CLinkList &L,int n){//约瑟夫问题 叫n出列 int i = L->data; //获取长度 int j = 0; CLinkList p = L->next; //设置初始指针指向第一个元素 CLinkList t = L; //指向p的前一元素 CLinkList q = NULL; while(i>原创 2021-10-24 21:35:58 · 1532 阅读 · 0 评论 -
循环链表实现及基本操作 数据结构C语言版
循环链表实现0.初始定义1.尾插法创建循环链表并输入数据2.遍历输出3.获取元素值4.插入操作5.删除操作6.判断是否为空0.初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct CLNode{ ElemType data;原创 2021-10-24 06:00:00 · 171 阅读 · 0 评论 -
单链表实现及操作 数据结构C语言版
单链表实现及操作初始定义单链表创建并初始化头插法尾插法获取单链表的长度单链表遍历输出判断是否为空获取元素操作删除操作插入操作整表删除相关操作的函数传递运用了C++的引用初始定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;//类型定义typedef stru原创 2021-10-22 10:26:08 · 247 阅读 · 0 评论 -
实现栈的基本操作 [链式存储] (创建 入栈 出栈 返回栈顶元素 获取长度 判空 判满 清空 销毁) C/C++ 数据结构
数据结构栈的实现及基本操作1.定义2.创建空栈3.入栈操作4.出栈操作5.获取栈顶元素6.判断栈是否为空7.判断是否满栈8.清空栈9.销毁栈10.获取栈的长度1.定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define STACK_INIT_SIZE 100 //初始量#define STACKINCREMENT 10 //增量typ原创 2021-10-21 14:08:35 · 866 阅读 · 0 评论