数据结构
文章平均质量分 51
数据结构学习
开始King
这个作者很懒,什么都没留下…
展开
-
数据结构-指针和结构体
1 指针首先看变量在内存中的存储有时候需要获取并使用程序运行中某个变量的内存地址,如何获取这个地址、如何存储这个地址?&取地址符,&a就是获得了a的地址可以存储地址的变量称为指针变量。指针看起来就是地址,但不仅仅是地址信息,还包含类型信息2 指针变量的声明和初始化声明指针变量int *pn; //pn 是整型指针,指向整型变量指针变量名是pn,不是*pn * 是指针声明符float *pa; //pa 是浮点型指针,指向浮点型变量ch原创 2022-04-03 12:36:03 · 5284 阅读 · 1 评论 -
数据结构-循环队列的基础操作
首先先看一下普通的顺序队列会发现出队后,前面的几个单元不能利用,浪费了空间,如果可以使队列首尾相接就可以解决这个问题了如何区分队列“空”和“满”1.另设一个标志位以区分队列是空还是满;2.少用一个元素空间,当队列头指针在队列尾指针的下一个位置上时为“满”。当Q.front=Q.rear时队空;Q. rear+1=Q. front时队满循环队列满足条件 (Q.rear+1)%MAXQSIZE= = Q.front 队满循环队列的类型定义:#define MAXQSIZE 100 /*队列的原创 2021-12-29 20:06:25 · 2108 阅读 · 0 评论 -
数据结构-链队列的基础操作
1.队列的定义 队列 (Queue)是另一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出(Fist In Fist Out,缩写为FIFO)的特性。在队列中,允许插入的一端叫做队尾(rear),允许删除的一端则称为队头(front)。 假设队列为q=(a1,a2,…,an),那么a1就是队头元素,an则是队尾元素。队列中的元素是按照a1、a2、…、an的顺序进入的, 退出队列也必须按照同样的次序依次出队,也就是说,只有在a1、a2、…、an-1都离开队列之后,an原创 2021-12-28 22:04:04 · 3345 阅读 · 0 评论 -
数据结构-链栈的基础操作
栈的链式存储结构实际上就是一个单链表,叫做链栈。插入和删除操作只能在链栈的栈顶进行。链式栈无栈满问题,空间可扩充插入与删除仅在栈顶处执行链式栈的栈顶在链头适合于多栈操作/* 链栈结构 */typedef struct StackNode { SElemType data; //节点数据域 struct StackNode *next; //节点指针域 } StackNode,*LinkStackPtr; //节点指针 typede原创 2021-12-27 20:49:02 · 3310 阅读 · 0 评论 -
数据结构-顺序栈的基础操作
顺序栈是用顺序存储结构实现的栈,即利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时由于栈的操作的特殊性,还必须附设一个位置指针top(栈顶指针)来动态地指示栈顶元素在顺序栈中的位置。通常以top=0表示空栈。顺序栈的存储结构可以用C语言中的一维数组来表示。 栈的顺序存储结构定义如下:#define STACK_INIT_SIZE 100#define STACKINCREMENT 10#define TRUE 1#define FALSE 0typedef struct原创 2021-12-22 22:02:57 · 2062 阅读 · 0 评论