#include <stdio.h>
#include <stdlib.h>
//节点结构体
struct Node
{
int a;
struct Node *pNext;
} ;
//链表的头尾指针
struct Node *g_pHead=NULL;
struct Node *g_pEnd=NULL;
//创建链表,在链表中增加一个数据(尾添加)
void Add(int a)
{
//创建一个节点
struct Node *pTemp=(struct Node *)malloc(sizeof(struct Node));
//节点初始化
pTemp->a=a;
pTemp->pNext=NULL;
if(g_pHead==NULL||g_pEnd==NULL) //空链表
{
g_pHead=pTemp;
g_pEnd=pTemp;
}
else
{
g_pEnd->pNext=pTemp;//往尾部添加,并后移
g_pEnd=pTemp;
}
}
int main()
{
int a[3]={1,2,3};//数组传进链表
int i=0;
for(i=0;i<3;i++)
{
Add(a[i]);
}
system("pause");
return 0;
}
头添加:
pTemp->pNext=g_pHead;
g_pHead=pTemp;
#include <stdio.h>
#include <stdlib.h>
//节点结构体
struct Node
{
int a;
struct Node *pNext;
} ;
//链表的头尾指针
struct Node *g_pHead=NULL;
struct Node *g_pEnd=NULL;
//创建链表,在链表中增加一个数据(头添加)
void Add(int a)
{
struct Node *pTemp=(struct Node *)malloc(sizeof(struct Node));
pTemp->a=a;
pTemp->pNext=NULL;
if(g_pHead==NULL)
{
g_pHead=pTemp;
g_pEnd=pTemp;
}
else
{
pTemp->pNext=g_pHead;
g_pHead=pTemp;
}
}
int main()
{
int a[3]={1,2,3};//数组传进链表
int i=0;
for(i=0;i<3;i++)
{
Add(a[i]);
}
system("pause");
return 0;
}