首页 > 代码库 > 数据结构:链表的基本操作(创建,删除,插入,逆序,摧毁)

数据结构:链表的基本操作(创建,删除,插入,逆序,摧毁)

代码注释比较详细:

#include <iostream>
#include <cstdlib>
using namespace std;

struct Node{
	int data;
	Node* next;
};

Node* head = NULL;

bool create() {
	head = (Node*)malloc(sizeof(Node));
	if(NULL == head) return false;
	head->data = http://www.mamicode.com/0;>

以上比较难理解的是链表的逆序,看下面的详解:

要求将一带链表头List head的单向链表逆序。

分析:

  1). 若链表为空或只有一个元素,则直接返回;

  2). 设置两个前后相邻的指针p,q. 将p所指向的节点作为q指向节点的后继;

  3). 重复2),直到q为空

  4). 调整链表头和链表尾

示例:以逆序A->B->C->D为例,图示如下