包含单链表节点的创建,头插法、尾插法、在某个索引位置之前插入指针、删除指定索引位置的节点、查找出某个索引位置的值,打印链表。
创建的链表包含一个虚拟头节点Head,也就是说链表的第一个节点并不是实际值,而是虚拟的一个节点。对链表的操作均建立在此基础上。
【C++】
#include <iostream>
using namespace std;
//链表节点,建议用构造函数进行初始化
struct ListNode{
int value;
ListNode* next;
ListNode(int val):value(val),next(NULL){
}
};
//链表
class LinkedList{
private:
ListNode* _dummyHead;
int _size;
public:
//构造函数,初始化一个虚拟头节点
LinkedList(){
_dummyHead = new ListNode(0);
_size = 0;
}
//返回链表的头节点
ListNode*