关于链表的基本知识
链表是一种通过指针串联在一起的线性结构,每个结点由两个部分组成:数据域和指针域
类型:
单链表
双链表
循环链表
C++中如何定义链表
//单链表
struct ListNode{
int val;
ListNode * next;
ListNode(int x) : val(x),next(NULL){}//结点的构造函数,初始化结点
};
C++默认生成一个构造函数,但不会初始化任何成员变量;下面代码可以看出区别
//自己定义构造函数初始化结点
ListNode * head = new ListNode(5); //初始化头结点
//默认构造函数初始化结点
ListNode* head = new ListNode();
head->val = 5;
//可以看出如果不定义构造函数,使用默认构造函数的话,在初始化的时候就不能直接给变量赋值
链表和数组特性对比