数据结构
冥更
٩(๑•̀ω•́๑)۶
展开
-
数组、指针、链表及结构体
1.数组 数组是最基本的构造类型,它是一组相同数据类型数据的有序集合, 数组中的元素在内存中连续存放, 用数组名和下标可以唯一地确定数组元素。 一维数组的定义:类型名 数组名[数组长度] 二维数组的定义: 类型名 数组名[行长度][列长度] 一维数组的引用:数组名[下标] (/*C语言编译器不检查数组下标是否越界,但是一旦出现下标越界,可能将数据写到其他变量的储存空间中从而引...原创 2019-04-12 20:47:18 · 861 阅读 · 0 评论 -
线性表
线性表是由同一类型的数据元素构成的有序序列的线性结构, 线性表中元素的个数称为线性表的长度。线性表中元素的前一个元素叫做当前元素的直接前驱;后一个元素叫做当前元素的直接后继。 线性表的顺序储存 线性表的顺序存储指的是内存中使用地址连续的一块存储空间顺序存放线性表的各元素。一般利用一维数组来表示顺序存储的数据区域,同时需要用一个Last变量来记录当前线性表中最后一个元素在数组中的位置,所以通常...原创 2019-04-16 15:49:37 · 209 阅读 · 0 评论 -
堆栈
堆栈的定义 堆栈(stack)可以当作具有一定约束的线性表,其插入和删除操作都是作用在栈顶(top)端点位置。插入数据称为压入栈(push),删除数据称为弹出栈(pop),堆栈是“后入先出(Last In First Out) 堆栈的实现 堆栈的存储结构可以采用顺序和链式两种实现形式。 1.顺序存储 堆栈的顺序存储由一个一维数组和一个记录顶层位置的变量以及一个记录堆栈最大容量的变量组成。 /*顺...原创 2019-04-22 10:55:42 · 243 阅读 · 0 评论 -
队列
队列(Queue)是一个有序线性表,其插入和删除操作分别在线性表两个不同端点完成。假设,一个队列Q=(,,...,),那么称为队头元素,称为队尾元素,和堆栈不同,队列是先进先出(FIFO)。 队列的顺序存储实现 typedef int Position; typedef struct QNode *PtrToQNode; struct QNode{ ElementType *Da...原创 2019-04-24 19:58:07 · 165 阅读 · 0 评论 -
二叉树
目录 二叉树的定义 二叉树的性质 二叉树的操作 二叉树的遍历 二叉树的定义 一个二叉是一个有穷的结点集合。这个集合可以为空,若不为 ,则是根节点和称为左子树和右子树两个不相交的二叉树组成。 二叉树的性质 二叉树的深度不大于节点数N,平均深度是. 所有节点都有左右子树的二叉树被称为完美二叉树(满二叉树)。 一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左至右的...原创 2019-05-06 19:38:38 · 238 阅读 · 0 评论