数据结构
c澄蓝
努力学习前端永无止境
展开
-
学习数据结构day8
空树:结点数为0的树非空树的特性:有且仅有一个根节点;没有后继的结点称为叶子结点;有后继的结点称为分支结点;除了根节外,任何一个结点都有且仅有一个前驱;每个结点可以有0个或多个后继;树是n(n>=0)个结点的有限集合,n=0时,称为空树,这是一种特殊情况。在任意一棵非空树中应该满足:有且仅有一个特定的称为根的结点。...原创 2022-03-09 18:09:04 · 131 阅读 · 0 评论 -
学习数据结构day7
栈的应用–表达式求值算数表达式有三部分组成:操作数、运算符、界限符逆波兰表达式=后缀表达式波兰表达式=前缀表达式中缀表达式:a + b后缀表达式:a b +前缀表达式:+ a b用栈实现后缀表达式的计算:从左往右扫描下一个元素,直到处理完所有元素若扫描到操作数则压入栈,并回到1;否则执行3若扫描到运算符,则弹出两个栈顶元素,执行相应运算,运算结果压回栈顶,回到1用栈实现前缀表达式的计算:从右往左扫描下一个元素,直到处理完所有元素若扫描到操作数则压入栈,并回到1;否则执行3若原创 2022-03-02 16:44:02 · 211 阅读 · 0 评论 -
学习数据结构day6
双端队列只允许从两端插入、两端删除的线性表队列的变种输入受限的双端队列:只允许从一端插入、两端删除的线性表输出受限的双端队列:只允许从两端插入、一端删除的线性表考点:判断输出序列合法性栈的应用–括号匹配...原创 2022-02-28 18:53:31 · 530 阅读 · 0 评论 -
学习数据结构day5
队列的链式存储typedef struct linknode{ elemtype data; struct linknode *next;}linknode;typedef struct{ linknode *front,*rear;}linkqueue;初始化队列(带头结点)void initqueue(linkqueue &Q){ Q.front=Q.rear=(linknode*)malloc(sizeof(linknode)); Q.rear->next=NU原创 2022-02-24 08:49:09 · 313 阅读 · 0 评论 -
学习数据结构day4
队列数据结构三要素–逻辑结构、数据的运算、存储结构(物理结构)队列是只允许在一端进行插入,在另一端删除的线性表。先进先出 FIFO队头 队尾 空队列initqueue(&Q):初始化队列 ,创destroyqueue(&Q):销毁队列enqueue(&Q,x):入队,在队尾插入dequeue(&Q,&x):出队,在队头删除gethead(Q,&x):读队头元素,若队列Q非空,则将队头元素赋值给xqueueempty(Q):判空顺序存储队列原创 2022-02-21 13:43:04 · 505 阅读 · 0 评论 -
学习数据结构day3
链栈的定义链式存储trpedef struct stacknode{ elemtype data; struct stacknode *next;}*Linkstackprt;teypedef struct Linkstack{ Linkstackprt top; int count;//计数器}进栈status push(Linkstack *s,elemtype e){ Linkstackprt p=(Linkstackprt)malloc(sizeof(stacknode)原创 2022-02-19 14:09:59 · 125 阅读 · 0 评论 -
学习数据结构day2
顺序栈顺序存储:给各个数据元素分配连续的存储空间,大小为 Maxsize*sizeof(elemtype)。栈顶指针:int top;void initstack(sqstack &s){ s.top=-1;} //初始化栈顶指针void teststack(){ sqstack s; //声明一个顺序栈(分配空间) initstack(s); //后续操作...#define maxsize 10//入栈操作bool push(sqstack &am原创 2022-02-17 11:36:20 · 376 阅读 · 0 评论 -
学习数据结构day1
栈(Stack)是只存在一端进行插入或删除操作的线性表。不可以在其他的地方插入删除操作stack:一堆栈顶、栈底、空栈进栈顺序:a1->a2->a3->a4->a5出栈顺序:a5->a4->a3->a2->a1栈顶元素、栈底元素后进先出:LIFO(先进后出)linitstack(&s):初始化栈,创建栈destroystack(&l):销毁栈Push(&s,x):进栈pop(&s,&x):出栈Ge原创 2022-02-16 21:42:24 · 202 阅读 · 0 评论 -
顺序表的顺序结构
顺序表的顺序结构#include<stdio.h>#include<iostream>#include<stdlib.h>using namespace std;typedef int status;typedef int elemtype;#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 1原创 2021-10-27 22:31:06 · 60 阅读 · 0 评论