![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
菜菜女孩要加油哦
这个作者很懒,什么都没留下…
展开
-
删除链表的倒数第k个节点(C++)详细
删除链表的倒数第k个节点思想及算法因为要删除倒数第k个节点,因此要知道是的正序的第几个,所以可以先遍历一遍链表获得链表的长度。代码#include<iostream>using namespace std;struct list { int val; list* next; list(int x) :val(x), next(nullptr) {}};list* insert(list* head, int x) { list* p = head; while (原创 2021-01-17 16:42:23 · 524 阅读 · 0 评论 -
逆置/反转单链表(C++)详细
逆置/反转单链表遗留的问题:我想新创建一个链表来实现单链表的反转,目前还没有实现出来思想及算法代码#include<iostream>using namespace std;struct list { int val; list* next; list(int x):val(x),next(nullptr){}};list* insert(list* head,int x) { list* p = head; while (p->next) {原创 2021-01-17 16:11:48 · 530 阅读 · 0 评论 -
在无头单链表的一个节点前插入一个节点(不能遍历链表) (C++)详细
算法思想代码#include<iostream>using namespace std;struct list{ int val; list* next; list(int x):val(x),next(nullptr){}};list* insert(list* head,int x) { list* p = head; while (p->next) { p = p->next; } list* t = new list(x); p-原创 2021-01-16 21:28:40 · 371 阅读 · 0 评论 -
删除一个无头单链表的非尾节点(不能遍历链表) (C++)详细
删除一个无头单链表的非尾节点(不能遍历链表)疑问:为什么要说明是无头单链表?——因为如果是带有头节点的单链表,假设要删除的是第一个节点,头节点是没有数据域的只有指针域,因此要想使用以下的方法就不能实现。算法思想我的代码#include<iostream>using namespace std;struct list{ int val; list* next; list(int x) :val(x), next(nullptr){}};list* insert原创 2021-01-16 20:46:02 · 180 阅读 · 0 评论 -
查找链表的中间节点,只能遍历一次数组(C++)详细
查找链表的中间节点,只能遍历一次数组方法及思想因为要求只能遍历一次链表,那么我们就可以边遍历边查找中间的节点。每遍历一步,就找一次中间节点,然后移动只想中间节点的指针。此处借助链表的长度来实现这个解法,我假设在链表长度为偶数时,中间节点为length/2取下取整(参考二分法)代码#include<iostream>using namespace std;struct list { int val; list* next; list(int x) :val(x), next(原创 2021-01-15 18:15:21 · 256 阅读 · 0 评论 -
从尾到头打印单链表(C++)详细
1.从尾到头打印单链表遗留的问题:在递归反向打印时,尾巴的->怎么处理掉?方法及思想:正序打印方法一:正序遍历,若当前节点的下一个节点不为nullptr(p->next!=nullptr),那么p继续往后移。直到移到最后一个节点为止方法二:使用递归,直到递归语句return中head传为head->next(此时在最后一次递归时,虽然下一个为空但是我们不知道,我们还会继续对其head->next),因此结束条件是:head==nullptr。注意cout输出语句的顺序原创 2021-01-15 18:07:55 · 1779 阅读 · 0 评论 -
【数据结构】——顺序表的插入、扩容、删除、性能分析基础详解
1.1线性表的定义 线性表:是由n个数据元素组成的有限序列,记为 (a1,a2,……,ai,……,an) eg:英文字母表(a,b,c……z)是一个长度为26的线性表问题1:线性表是否允许长度n=0? 答:是!(从实际出发,为什么要有数据结构?为什么要有线性表?——让我们存储元素的呀!当我们的元素还没有进入线性表的时候,n=0)问题2:什么叫前驱/后继?每个元素都有前驱/后继吗? 答:前驱——此元素前面的一个元素就是...原创 2020-06-12 00:18:00 · 3701 阅读 · 1 评论