单链表操作:初始化、创建、插入、删除、打印等

标签:
链表单链表初始化创建插入 |
分类: MFC学习历程 |
链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链表,下面将逐一介绍。
2.单链表
链表在进行循环遍历时效率不高,但是插入和删除时优势明显。
单链表实际上是由节点(Node)组成的,一个链表拥有不定数量的节点。而向外暴露的只有一个头节点(Head),我们对链表的所有操作,都是直接或者间接地通过其头节点来进行的。节点(Node)是由一个需要储存的对象及对下一个节点的引用组成的。也就是说,节点拥有两个成员:储存的对象、对下一个节点的引用。其实应该用数据和地址代替前面的对象和引用的。
单链表的结构示意图(包括空的单链表):
那么大家可能清楚了,为什么说有了头节点就可以操作所有节点。因为有连续不断的引用嘛!那么在链表里的属性大概就只有两个了:头节点和节点数量。当然,根据需要,我们通常需要更多的属性。
下面用C语言简单写一个单链表,并完成初始化,创建链表与链表遍历、插入、删除等操作。
(1)链表的创建、输出步骤
#include "stdafx.h"
#include "stdio.h"
#include
#include "string.h"
typedef int elemType;
typedef struct
Node{
}Node;
void initList(Node **pNode)
{
}
Node *createList(Node *pHead)
{