数据结构
文章平均质量分 82
Asuiiiyi
这个作者很懒,什么都没留下…
展开
-
LRU Cache
LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。什么是 Cache?狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用 DRAM技术,而使用昂贵但较快速的SRAM技术。广义上的Cache指的是位于速度相差较大的两种 硬件之间, 用于协调两者数据传输速度差异的结构。原创 2024-08-17 17:58:17 · 261 阅读 · 0 评论 -
#数据结构# 单链表的实现3(C语言)
6.尾删结点(SListPopBack):7.头删结点(SListPopFront):8.在pos位置之后插入数据x(SListInsertAfter):9.删除pos位置的数据(SListErase):10.销毁链表(SListDestroy):6.尾删结点(SListPopBack):思路:我们需要找到最后一个结点,并且删除并释放内存,而倒数第二个结点即成为了新的尾结点。因此,我们不仅要得到尾结点的地址,还要得到倒数第二个结点的地址。仅仅通过一次遍历,我们原创 2024-08-24 19:54:16 · 1376 阅读 · 0 评论 -
#数据结构# 单链表的实现2(C语言)
所以,假如继续跟打印链表的判断条件相同,则跳出循环之前,结点就已经被遍历完全,最后一个结点的next指针也无法被我们找到。因此,尾插循环条件应该为while (node->next!打印链表中的遍历循环条件是:while(node!=NULL),意思就是当node指向最后一个结点,打印的任务就完成了,再进入一次循环,node就指向NULL,循环跳出。但是尾插结点不同,尾插结点需要当前最后一个结点的地址,才能通过该地址找到存放下一个结点的next指针,并将尾插新结点地址存放进next中。原创 2024-08-24 19:52:51 · 817 阅读 · 0 评论 -
#数据结构# 单链表的实现1(C语言)
即为第二个结点的地址,第二个结点中的next为第三个结点的地址......直到第三个结点以后,如果没有新的结点,则这个结点的next指向空,即。在SListNode结构体中,存放一个SListNode的结构体指针,这个指针即为指向下一位结点的地址,命名为“next”。先找头结点,通过头结点找下一个结点,找到一个,就打印一个,直到最后一个结点为止。简单来说可以说为“一环扣一环”,每个结点的数据都有着联系下一个结点的方式。的结点可以称为头结点,该结点中的next为。最后,由于是新的结点,原创 2024-08-24 19:52:40 · 1020 阅读 · 0 评论 -
#数据结构# 栈与队列的实现2 (C语言)
好处就是操作更为方便,从顺序表本质来讲,原创 2024-08-24 19:49:29 · 583 阅读 · 0 评论 -
#数据结构# 栈与队列的实现1 (C语言)
允许插入(Push)的一端为队尾,允许删除(Pop)的一端为队头。假设队列是Q=(a1,a2,……,an),那么a1就是队头元素,而an是队尾元素。或者不进行整体迁移,而采用扩容及改变下标的方法实现队列的头删功能,有点繁杂,所以这里我采用。所以我们进行插入数据时,新插入的数据总是位于队列尾端;进行删除时,删除的数据总是位于队列开头的数据。队列是一种先进先出的(First In First Out)的线性表,简称FIFO。进行实现,但是如果使用顺序表实现队列的情况下,其次,初始化时,队列没有元素,所以。原创 2024-08-24 19:49:46 · 1311 阅读 · 0 评论