数据结构
文章平均质量分 87
小小孩~
永远奔赴在热爱的征程上
展开
-
【C++】AVL树
二叉搜索树、AVL树原创 2023-04-27 21:41:31 · 456 阅读 · 0 评论 -
排序算法(二)
快排原创 2022-10-27 18:26:04 · 283 阅读 · 0 评论 -
二叉树基本操作
二叉树的操作原创 2022-10-26 16:28:19 · 680 阅读 · 0 评论 -
二叉树与堆基本操作
二叉树与堆的基本操作、建堆、堆的调整原创 2022-10-12 17:08:04 · 415 阅读 · 0 评论 -
单链表相关OJ题(下)
单链表的OJ题原创 2022-10-06 15:41:08 · 326 阅读 · 0 评论 -
单链表相关OJ题(中)
单链表的相关应用原创 2022-10-05 21:52:27 · 396 阅读 · 0 评论 -
使用交换函数来实现变量的修改以及指针指向的修改
指针 , 交换函数,传址,传值原创 2022-09-27 22:00:46 · 128 阅读 · 0 评论 -
单链表相关OJ题(上)
单链表相关的OJ题原创 2022-09-22 17:37:09 · 318 阅读 · 1 评论 -
排序算法(一)
排序排序插入排序希尔排序选择排序堆排序排序算法比较排序生活中我们常常会用到排序的思想,例如我们小学排座位会按照身高由低到高的顺序进行排序站位、又或如我们淘宝购物时会按照个人想法将商品进行排序最终选择物美价廉的那个等等,面对不同的问题不同的人会选择不同的排序方式,升序排列降序排列最为常见。排序:就是将一串记录按照一定的规则进行排列起来的操作排序的稳定性:通俗来说,排序算法的稳定性是根据待排序数据的相对位置而言的,假如在一列待排序的数据中某两个值相同的元素在排序前后的相对位置不发生变化则成当前排序算法较原创 2021-01-23 19:21:30 · 175 阅读 · 0 评论 -
二叉树的基础
二叉树的实现二叉树树二叉树二叉树的基本操作定义一颗二叉树二叉树的创建先序遍历(递归)中序遍历(递归)后序遍历(递归)二叉树的三种非递归形式遍历先序遍历(非递归)中序遍历(非递归)后序遍历(非递归)调试二叉树树树:一种非线性结构,它由n(n>=0)个有限结点组成一个具有层次关系的集合。树的特点:每个节点具有零个或多个子节点,没有父结点的结点称为根结点,如下图树有一个根但有多个树枝树叶;每一个非根结点只有一个父节点,除了根结点之外每个子结点可以分为多个不相交的子树。注:树的子树是不相交的;除了原创 2021-01-19 20:31:57 · 163 阅读 · 0 评论 -
链表的基本概念
链表链表单链表不带头结点单链表带头结点单链表循环单链表双向链表双向不循环链表带头结点的双向不循环链表双向循环链表带头结点的双向循环链表带头结点的双向循环链表的实现链表由字面意义可知,链表即链式链接而形成的,链表是一种物理上不一定连续、非顺序的存储结构,数据元素的逻辑顺序取决于链表指针链接次序,例如下列结构:NULL:表示指针域为空,即最后一个链表结点链表分为:单链表、双链表、带头结点与不带头结点链表单链表不带头结点单链表带头结点单链表需要提前设定一个头结点 head:循环单链表双原创 2021-01-16 22:05:57 · 938 阅读 · 1 评论 -
栈与队列的相关操作
简述栈与队列栈栈的基本操作一、栈的基本知识二、栈的操作队列队列的基本操作一、队列的基本知识二、队列的操作用栈来实现队列实现过程代码:用队列来实现栈实现过程代码:栈栈是一种特殊的线性表,其中只允许在一段进行插入及删除元素操作称为栈顶端,另一端称为栈底。栈的基本操作进栈操作:栈的插入元素操作称为进栈/入栈,入栈的数据保存在栈顶出栈:栈的删除操作称为出栈,出栈数据也在栈顶一、栈的基本知识入栈过程与出栈过程:进栈:修改栈顶指针,将需要入栈元素放入栈顶指针指向空间出栈:保存栈顶指针所指空间元素,修原创 2021-01-11 14:43:44 · 308 阅读 · 0 评论 -
class 类--------Date 日期类
本节主要来说说类与对象这个模块吧,类的关键词就是 class;前边接触到的C语言,是面向过程的一门语言注重的就是过程;而C++是基于面向对象的,关注的是对象,这也就意味着,从今天开始要注重一些C++语言的要点了,接下来一起学习吧!一、类的定义(结构形式)(一)首先来了解一下类的结构形式:class A{ //类体:由成员函数和成员变量组成}; //类结束的分好不可以省略如上述代码所展示的,定义了一个 A 类,A 就是类名,class 为定义类的关键词。类的定义形式:class A{ p原创 2020-10-26 00:55:15 · 2121 阅读 · 0 评论 -
顺序表存储相关操作
顺序表的结构例如图所示结构(假设开辟了10个空间),按照顺序进行元素的插入首先创建一个顺序表结构typedef struct SeqList{ ElemType *base; size_t capacity; //容量 size_t size; //元素个数}SeqList;初始化#define SEQLIST_DEFAULT_SIZE 8void SeqListInit(SeqList *plist) //初始化{ assert(plist != NULL);原创 2020-07-17 16:44:32 · 1564 阅读 · 0 评论 -
数据结构---耿国华版(课设5)---折半查找
要求:1.编写函数,建立有序表,采用折半查找实现某一已知的关键字的查找(采用顺序表存储结构)2.编写函数,随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树3.编写函数,在以上二叉排序树中删除某一指定关键字元素4.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法代码:#include <stdio.h>#include <malloc.h>#pragma warning (disable:4996)typedef struct Node{原创 2020-07-08 12:53:46 · 690 阅读 · 0 评论 -
s数据结构---耿国华版(课设4)---二叉树的遍历
要求:1.编写函数,输入字符序列,建立二叉树的二叉链表2.编写函数,实现二叉树的中序递归遍历算法。3.编写函数,实现二叉树的中序非递归遍历算法4.编写函数,借助队列实现二叉树的层次遍历算法5.编写函数,求二叉树的高度6.编写函数,求二叉树的结点个数7.编写函数,求二叉树的叶子个数8.编写函数,交换二叉树每个结点的左子树和右子树9.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法代码:#include <stdio.h>#include<windows.原创 2020-07-08 12:51:41 · 514 阅读 · 5 评论 -
数据结构--耿国华版(课设3)----栈与队列---------链栈、顺序栈、链队、顺序队
要求:1.编写函数,采用链式存储实现栈的初始化、入栈、出栈操作2.编写函数,采用顺序存储实现栈的初始化、入栈、出栈操作3.编写函数,采用链式存储实现队列的初始化、入队、出队操作4.编写函数,采用顺序存储实现队列的初始化、入队、出队操作5.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法代码:#include<stdio.h>#include<stdlib.h> #include <malloc.h>#include<windo原创 2020-07-08 12:49:32 · 456 阅读 · 0 评论 -
数据结构--耿国华版(课设2)---单链表的遍历、逆置、排序、合并、插入删除
要求:1.编写函数,实现随机产生或键盘输入一组元素,建立一个带头结点的单链表(无序)2.编写函数,实现遍历单链表3.编写函数,实现把单向链表中元素逆置4.编写函数,建立一个非递减有序单链表5.编写函数,利用以上算法,建立两个非递减有序单链表,然后合并成一个非递减链表。6.编写函数,在非递减有序单链表中插入一个元素使链表仍然有序7.编写函数,实现在非递减有序链表中删除值为x的结点8.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法代码:#include<stdio.h&原创 2020-07-08 12:47:18 · 835 阅读 · 0 评论 -
数据结构--耿国华版 (课设1)----二叉树的三种遍历
对任意给定的二叉树(顶点数自定)建立它的二叉树链表存储结构,并利用栈的五种基本运算:置空栈、进栈、出栈、取栈顶元素、判栈空实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。**三种遍历方法:(递归形式)**如果二叉树非空,则可以按照先序遍历、中序遍历、后序遍历三种方法得到二叉树的所有结点,一下介绍三种遍历的遍历顺序:首先,先序遍历:访问根结点、先序遍历左子树、先序遍历右子树;其次,中序遍历:中序遍历左子树、访问根节点、中序遍历右子树;最后,后序遍历:后序遍历左子树、后序遍历右子树、原创 2020-07-08 12:41:59 · 675 阅读 · 0 评论