数据结构
makabaka12138
这个作者很懒,什么都没留下…
展开
-
数据结构------链队列------(C语言实现)
链队列的基本操作:和顺序表队列差不多啊,都队头出,队尾入,操作也没有什么难度昂,简简单单。#include <stdio.h>#include <stdlib.h>typedef struct Element{ //同样的先定义数据域的类型 int id; char name[250];}Element;typedef struct Node{ //定义节点 Element data; //数据域 struct Node* ne原创 2022-04-20 10:43:39 · 87 阅读 · 0 评论 -
二叉树的前序遍历(递归)
遍历的作用:它是树结构插入,删除,修改,查找和排序运算的前提,是二叉树一切运算的基础和核心。遍历二叉树——从根结点触发,按照某种次序依次访问二叉树中所有结点,使得每个结点均被访问一次且仅被访问一次。前序遍历:若二叉树为空,则空操作;若不为空:则先访问根结点前序遍历左子树前序遍历右子树前序遍历的结果:A B D E C F G 过程解释:先访问根结点A,然后前序遍历左子树,访问A的左结点即B,然后访问B的左节点D,然后原创 2022-04-06 15:36:11 · 2048 阅读 · 0 评论 -
数据结构------链栈(C语言实现)
链栈:链栈的结构与链表相似插入与删除等操作都是在链表的头部所以:链栈是一个以top为头结点,从栈顶指向栈底的单链表typedef struct node{ Element element; //数据域 struct node* next; //指向下一个结点}Stacknode;typedef struct{ Stacknode* top; //栈顶指针 int length; //节原创 2022-04-12 11:24:33 · 1170 阅读 · 0 评论 -
二叉链表的创建
#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_SIZE 1024#define NAME_SIZE 255 //用来实现结点id的自增长 static id = 0; typedef struct Element //定义数据域结构 { int id; char name[NAME_SIZE];}Element;//树节点 typed.原创 2022-04-06 14:30:03 · 3748 阅读 · 0 评论 -
数据结构------单链表(C语言实现)
链表的基本概念:结点包括数据域和指针域链表由很多个结点链接成,第一个结点的存储位置叫头指针,最后一个结点的指针为空。头指针:链表第一个结点的存储位置头结点:在单链表的第一个结点前附设的一个结点,为了 操作的统一的方便设立的。typedef struct Node{ int id; //数据域 char name[50]; //数据域 struct Node* next; //指针域,用来指向下一个节点}Nod...原创 2022-04-05 14:39:17 · 965 阅读 · 0 评论 -
二叉树的中序遍历,后续遍历(原理解释)
遍历的作用:它是树结构插入,删除,修改,查找和排序运算的前提,是二叉树一切运算的基础和核心。遍历二叉树——从根结点触发,按照某种次序依次访问二叉树中所有结点,使得每个结点均被访问一次且仅被访问一次。中序遍历:若二叉树为空,则空操作若二叉树不为空则:中序遍历左子树访问根结点中序遍历右子树中序遍历后的结果:D B E A F C G 过程解释:先遍历左子树,访问左子树的最后一个左结点D,然后访问D的根结点B,然后访问B的原创 2022-04-06 16:42:03 · 747 阅读 · 0 评论 -
数据结构------顺序栈(C语言实现)
栈(stack)是限定仅在表尾插入和删除操作的线性表1.允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)2.不含任何数据元素的栈称为空栈栈的特点:先进后出,后进先出,就像子弹弹夹一样,先压入弹夹的在最下面,最后一颗在最上面。因为栈也被称为后进先出(Last in first out)的线性表,简称LIFO结构,栈的插入称为进栈,压栈,入栈。栈的移除操作称为弹栈,出栈。#include <stdio.h>#include <stdlib.h&原创 2022-04-11 10:42:34 · 1107 阅读 · 0 评论 -
数据结构-------顺序表(C语言实现)
线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,使得线性表在逻辑结构上相邻的元素存储在连续的物理存储单元中,即:通过数据元素物理存储的连续性来反应元素之间逻辑上的相邻关系。采用顺序存储结构存储的线性表通常简称为顺序表。可以理解为一个数组:顺序表 元素 a1 a2 a3 a4 a5 下标 0 1 2 3 4 ...原创 2022-04-05 09:42:48 · 143 阅读 · 1 评论 -
二叉树的顺序存储结构------(C语言实现)
上图所示的二叉树用顺序存储方式存为A B C D E 0 F ... 相当于一个一维数组啦下面是代码实现://定义二叉树的最大结点数#define MAX_SIZE 255//下标为0的位置存储根结点typedef Element SqBinTree[MAX_SIZE];SqBinTree tree;...原创 2022-04-05 17:17:07 · 2366 阅读 · 4 评论 -
数据结构------顺序队列(C语言实现)
队列(Queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表队列是一种先进先出(First In First out)的线性表允许插入的一端称为队尾,允许删除的一端称为队头特点:先进先出,后进后出队列与其他的线性表不同的是,数据结构中的队列只能从队尾添加元素,在队头删除元素,这是由它逻辑结构决定的。front:队头指针rear:队尾指针使用顺序表实现队列有一个缺点,队列满的时候,无法继续从队尾插入新元素,数组仍有空闲空间,造成空间浪费。顺序队列实现较为原创 2022-04-16 09:04:55 · 357 阅读 · 0 评论