![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 67
个人学习数据结构的心路历程与一点笔记。
Hokachi
这个作者很懒,什么都没留下…
展开
-
数据结构:单链表
当找到需要删除的节点时,temp会指向需要删除的节点,而front则会指向需要删除节点的前一个节点。front变量的存在,就是为了方便删除操作,将front.next的值直接更改为temp.next值(意味着已经跳过temp节点),在java中temp节点则被视为弃用的节点会被自动回收。传入一个新的节点,新节点的bookNumber应该与目标节点保持一致。就是在链表中找到某一个位置,上一个节点的书本编号小于新节点的书本编号,而下一个节点的书本编号又大于新节点的书本编号,这意味着该位置就是新节点的最佳位置。原创 2022-11-19 11:34:44 · 469 阅读 · 0 评论 -
数据结构:循环队列
的操作,我的思路是将头指针固定不动,然后每一次元素入队就将尾指针后移,每一次出队就把当前头指针指向的元素返回,然后将整个数组整体前移一个位置,尾指针同时减一。与普通队列不同的是,头指针front与尾指针rear的初始值都设置为0,并且由于循环队列中需要空出一个位置用于判断和保持操作一致,因此数组实际大小应该比用户期待队列的大小大1,因此size的值应该为用户期待队列大小的值maxsize加一。的学习笔记,这一篇写的是循环队列,大部分代码可以继续沿用,某些地方需要作出更改,使其可以实现循环队列的功能。原创 2022-11-16 10:54:10 · 1382 阅读 · 0 评论 -
数据结构:队列
如果不为空,则将对首元素记录在ans变量中,然后数组其他元素一次向前移动一个位置,保证队列的结构。(此时,arr[rear]位置还保存着队尾元素,只是我们已经将整体先前移动了一个位置,所以rear自减前的位置的数据我们已经不再需要了,等下一次有元素入队的时候就会将这个元素覆盖掉。rear是尾指针,head是头指针,size用于记录队列的大小,数组arr则用于实现队列。步骤也相似,先判空,若合法则打印对首元素。其功能包括构造队列、队列判满、队列判空、元素入队、元素出队、获取队首元素、打印队列。原创 2022-11-14 16:27:52 · 384 阅读 · 0 评论 -
数据结构:稀疏数组
某个数据中,若某项无意义数据大量存在,就可以使用稀疏数组代替原数组。保存原数组中有效的信息的前提下,省略大量的无意义数据,从而达到节省空间的目的。//test部分仅为输出测试,与稀疏数组本身无关。原创 2022-11-08 21:01:44 · 119 阅读 · 0 评论