- 博客(6)
- 收藏
- 关注
原创 数据结构顺序队列和循环队列
顺序队列和循环队列都是数据结构中队列的实现方式,它们都是一种“先进先出”的数据结构,即最先入队的元素将最先出队。顺序队列是使用数组来实现的队列,它的底层存储结构是一个固定大小的数组。顺序队列是使用数组来实现的队列,它的底层存储结构是一个固定大小的数组。循环队列也使用数组来实现队列,但是它通过使用头尾指针和取模运算来实现循环的队列结构。循环队列解决了顺序队列出队时的元素移动问题,使得出队操作时间复杂度为O(1)。提示:以下是本篇文章正文内容,下面案例可供参考。
2023-07-31 11:33:51
212
1
原创 数据结构链队
用链表表示的队列简称为链队列,是限制仅允许在表头删除和表尾插入的单链表。一个链队列需要两个分别表示队头和队尾的指针(分别称为头指针和尾指针)才能唯一确定。空的链队列的判决条件为头指针和尾指针均指向头结点。提示:以下是本篇文章正文内容,下面案例可供参考}QueueNode;}LinkQueue;动态大小:链队的大小可以动态调整,不受固定大小的限制,能够根据实际需求灵活地改变队列的大小。空间利用:链队仅使用实际存储元素所需的空间,避免了顺序队列中的预留空间浪费问题。
2023-07-31 11:12:10
107
1
原创 数据结构链栈
链栈的存储结构和链表一样,但是链栈拥有栈的特性,故失去了链表在链上随处可插入的特点,而只能进行链表的头插及为栈的入栈,故移动头节点来完成链栈的操作。提示:以下是本篇文章正文内容,下面案例可供参考特点存储结构:链栈的底层实现是使用链表来存储元素,每个节点包含数据元素和指向下一个节点的指针。存取效率:由于链栈使用链表实现,入栈和出栈操作的时间复杂度为O(1),即常数时间。灵活性:链栈的大小并不受限于固定的内存空间,它可以根据需要动态调整大小,不会出现栈上溢或下溢。
2023-07-20 17:56:41
129
原创 数据结构顺序栈
只允许在一端进行插入或删除操作的线性表。首先,栈是一种线性表,但限定这种线性表只能在某一段进行插入和删除操作。栈顶(Top):线性表允许进行插入和删除的一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素。提示:以下是本篇文章正文内容,下面案例可供参考#define STACK_INIT_SIZE 10 //顺序栈初始化长度#define STACKSIZE 5 //顺序栈空间不足时 每次增加的长度int top;栈的特点。
2023-07-20 17:40:02
111
原创 数据结构链表
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表是一种动态数据结构,不需要预先指定存储空间大小。相比于数组,链表的插入和删除操作更加高效,不需要移动大量元素。链表由若干个节点组成,每个节点包含两个部分:数据部分和指向下一个节点的指针(有些链表还有指向上一个节点的指针)。节点之间通过指针连接在一起,形成一个链式结构。链表的头指针指向链表的第一个节点,如果链表为空,则头指针为NULL。链表的插入和删除操作只需要改变指针的指向,不需要移动元素。
2023-07-10 16:26:10
122
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅