![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 53
for you692
这个作者很懒,什么都没留下…
展开
-
数据结构之排序算法(归并、冒泡、选择、插入、快速、希尔、基数排序)
第二轮 ,按十位,将每个元素放到对应的桶(一维数组)中,比如53的十位是5,就放到下标为5的桶中,如果元素是4,十位就补0,放到下标为0的桶中,然后按桶的顺序,桶中元素的顺序,将各元素依次放回到原来数组中。先按个位,将每个元素放到对应的桶(一维数组)中,比如53的个位是3,就放到下标为3的桶中,然后按桶的顺序,桶中元素的顺序,将各元素依次放回到原来数组中。直接插入排序、希尔排序、简单选择排序、堆排序、冒泡排序、快速排序、归并排序、基数排序。3)思路分析图,以下图中的arr为例,需三轮排序。原创 2023-05-05 17:40:15 · 80 阅读 · 1 评论 -
数据结构:栈Stack
如果是数字就入栈,如果是符号则不入栈,弹出栈顶两个元素,先弹出的为右操作数,后弹出的为左操作数,完成运算后入栈运算结果,最后返回最后的运算结果(栈中也就只有一个元素了)。2)栈这种线性表中,元素的插入和删除只能在线性表的同一端进行,允许插入和删除的一端为栈顶(Top),另一端为栈底(Bottom)。3)最先放入栈中的元素在栈底,最后放入栈中的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。1)入栈,结合图示,一个一个往下压,最后放入栈的数据在栈顶。五、栈的使用(java)原创 2023-04-25 23:02:37 · 83 阅读 · 1 评论 -
数据结构链表之双向链表
3.让temp的下一个节点的prev换成temp的上一个节点temp.next.prev=temp.prev。双链是双向的,每一个节点内都存放了数据、下一个节点的地址next、上一个节点的地址prev。2.让temp的前一个节点指向temp的下一个节点temp.prev.next=temp.next。2)单链表节点不能自我删除,需要找到待删除节点的前一个节点,而双向链表可以自我删除。双链表比单链表多了一个prev用来存放上一个节点的地址.1)单链表只能向后查找,而双链表可以向前向后查找。原创 2023-04-23 19:02:14 · 440 阅读 · 1 评论 -
数据结构链表之单链表(单链表的创建,尾插法添加节点,遍历,指定位置添加节点,删除)
2、要删除时:让temp的前一个节点直接指向temp的下一个节点, 然后后移,这样temp没有其它引用指向,会被垃圾回收机制回收.单链表是单向的,非循环的,每一个节点内都存放了数据和下一个节点的地址,一个接一个的连在一起,便有了下图这样的数据结构。1、找到要删除节点的前一个节点ahead,temp就是要判断是否删除的节点。2、要插入的节点node指向下一个节点temp.next。2)创建链表类连接节点,链表的相关操作方法都在该类中。1、先找到要插入位置的前一个节点。3、让前一个节点指向要插入的节点。原创 2023-04-23 17:24:44 · 1139 阅读 · 1 评论