#include <stdio.h>
#include <stdlib.h>
//链表中节点结构
typedef struct Link
{ int elem;
struct Link *next;
}link;
link * initLink();
void Display(link *p);
int _tmain(int argc, _TCHAR* argv[])
{
printf("初始化链表:\n");
link *p=initLink();
Display(p);
system("pause");
return 0;
}
link *initLink()
{
link *p=0;//创建头指针
link *temp=(link*)malloc(sizeof(link));//创建首元节点
//首元节点先初始化
temp->elem=1;
temp->next=0;//这行容易忽略
p=temp;//头指针指向首元节点
for (int i = 0; i < 10; i++)
{
link *a=(link*)malloc(sizeof(link));
a->elem=i;
a->next=0;/这行容易忽略
temp->next=a;
temp=temp->next;
}
return p;
}
void Display(link*p)
{
link *temp=p;//将temp指针重新指向节点
//只要temp指针指向的节点的next的next不是null,就执行输出语句
while(temp)
{printf("%d ",temp->elem);
temp=temp->next;
}
}
c c++ 线性表之链式存储结构(单链表)
最新推荐文章于 2022-03-06 19:01:05 发布