#include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct LNode{ int data; struct LNode* next; //next是一个指向结构体类型的指针, LNode* 是一个指针数据类型类似int ...
分类:
编程语言 时间:
2020-07-19 23:54:49
阅读次数:
96
#include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct LNode{ int data; struct LNode* next; }LNode,*LinkList; LinkList List_TailInsert ...
分类:
编程语言 时间:
2020-07-19 23:53:50
阅读次数:
108
带头结点的双循环链表 L 为空表的条件是:L->next==L && L->prior==L 在单链表中设置头结点的作用是主要是使插入和删除等操作统一,在第一个元素之前插入元素和删除第一个结点不必另作判断。另外,不论链表是否为空,链表指针不变。在单链表 p 结点之后插入s 结点的操作是 s->nex ...
分类:
其他好文 时间:
2020-07-19 23:13:51
阅读次数:
56
根据线性表的实际存储方式,分为两种实现模型: 顺序表 ,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。 链表 ,将元素存放在通过链接构造起来的一系列存储块中。 一、顺序表 在Java中,顺序表的结构主要有:数组、ArrayList ArrayList 的 本质是对 ...
分类:
编程语言 时间:
2020-07-19 17:47:51
阅读次数:
71
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解题思路:双指针迭代。(如图) 实现代码: //双指针迭代法 public ListNode reverseList(ListNode head) { ListNode prev ...
分类:
其他好文 时间:
2020-07-19 00:40:33
阅读次数:
70
代码如下: /***************************************** * 入队列操作 * 首先,创建一个单链表的结点 * 将这个结点挂在现在队伍的队尾后面 * 再将队尾指向这个节点 * ***************************************/ #i ...
分类:
编程语言 时间:
2020-07-18 22:43:20
阅读次数:
79
1,线性表并不等于数组,线性表可以通过数组实现也可以通过链表实现,它是ADT的一种,除了包含数据,也包含对这些数据的处理(可以理解为函数)。 2,它像类一样封装,就像理解操作系统中的管道。 考点: 1,线性表分为顺序表和链表,要熟悉相关的基本操作,进而组合实现出复杂的操作。 2,主要是算法设计题,结 ...
分类:
其他好文 时间:
2020-07-18 22:33:40
阅读次数:
66
目录 1、顺序表的概念 2、顺序表的的存储表示和实现 3、基本操作的实现 3.1初始化 3.2取值 3.3查找 3.4插入 3.5删除 4、测试线性表的功能 1、顺序表的概念:使用一段连续的存储空间存储线性表的元素 2、顺序表的存储表示和实现 /** * 线性表的顺序表示和实现(数组) */ //操 ...
分类:
其他好文 时间:
2020-07-17 13:44:21
阅读次数:
59
一位C++小白的力扣刷题_成长记录_welcome to visit ^_^ 链表_第3题:相交链表 题目描述: 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 举例 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4, ...
分类:
编程语言 时间:
2020-07-17 01:23:20
阅读次数:
142
1. 图的概念 图(Graph)另一种非线性表数据结构。 树中的元素称为节点,图中的元素叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。这种建立的关系叫作边(edge)。跟顶点相连接的边的条数叫作顶点的度(degree)。 有方向的图叫作“有向图”。以此类推,我们把边没有方向 ...
分类:
其他好文 时间:
2020-07-16 00:03:32
阅读次数:
57