单链表的定义
那么如何用代码定义一个单链表呢?
增加一个新的结点:在内存中申请一个结点所需空间,并用指针p指向这个结点
typedef关键字--数据类型重命名
typedef <数据类型> <别名>
typedef struct LNode LNode;
LNode *p=(LNode *)malloc(sizeof(LNode));
不带头结点的单链表:
typedef struct LNode{ //定义单链表结点类型
ElemType data; //每个节点存放一个数据元素
struct LNode *next; //指针指向下一个节点
}LNode, *LinkList;
//初始化一个空的单链表
bool InitList(LinkList &L) {
L = NULL; //空表,暂时还没有任何结点 防止脏数据
return true;
}
//判断单链表是否为空
bool Empty(LinkList L)
{
if (L == NULL)
return true;
else
return false;
void test()
{
LinkList L; //声明一个指向单链表的指针
//初始化一个空表
InitList(L);
}
带有结点的单链表:
typedef struct LNode{ //定义单链表结点类型
ElemType data; //每个节点存放一个数据元素
struct LNode *next; //指针指向下一个节点
}LNode, *LinkList;
//初始化一个空的单链表
bool InitList(LinkList &L) {
L=(LNode *)malloc(sizeof(LNode));//分配一个头结点
if(L = NULL)
return false;
L->next = NULL;//头结点之后暂时没有节点
return true;
}
void test()
{
LinkList L; //声明一个指向单链表的指针
//初始化一个空表
InitList(L);
}
总结:
完!!