创建一个链表,可以通过几个简单的步奏来完成,本程序讨论了有无空头指针,最后添加尾指针来提高程序运行的效率
创建结构体—创建数据与头尾指针—调用函数创建节点—传入头尾指针地址—讨论头指针是否为空的情况—添加尾指针。
#include <stdio.h>
#include<stdlib.h>
#include<malloc>
struct Nodevoid AddtoEnd(struct Node**pHead,struct Node**pHead,int iDate);
{
int iDate;
struct Node*pNext;
}
int main()
{
int iDate;
struct Node*pHead=NULL;
struct Node*pEnd=NULL;
AddtoEnd(&pHead,&pEnd,3);
AddtoEnd(&pHead,&pEnd,3);
AddtoEnd(&pHead,&pEnd,3);//创建头指针与尾指针
return 0;
}
void AddtoEnd(struct Node**pHead,struct Node**pEnd,int iDate)//以二级指针的形式传递头尾指针的地址
{
struct Node*premt=(struct Node*)malloc(sizeof(struct Node)*);
premt->iDate=iDate;
premt->pNext=NULL;//创建一个节点
if(*pHead=NULL)//空链表
{
*pHead=premt;
*pEnd=premt;
}
else
{
(*pEnd)->pNext=premt;
*pEnd=premt;//链表的尾添加
}
}