尾插法建立单链表

Winodws vc6.0++下通过
输入数字,当输入-1时程序结束。

#include<stdio.h>
typedef struct link//定义一个结构体,里面只有一个int数据 *next用来存放下一个节点的地址
{

int data;
struct link *next;

}LINK;

//////////////////////////////////////单链表的建立//////////////////////////////////////////////////
//////////////////////////////////////////尾插法////////////////////////////////////////////////////
struct link *creat_link()
{
int a;
struct link *h,*new,* rear;
h=(LINK*)malloc(sizeof(LINK));//搞一个头节点
rear=h;//
scanf("%d",&a);//输入一个int变量a
while(a!=-1)
{
new=(LINK*)malloc(sizeof(LINK));
new->data=a;//把变量a的数据输入new的data中,类似new.data=data
rear->next=new;//这里的next是指针,就是把新建的节点的地址写到rear的指针中
rear=new;//让new空出来,以方便下一个数据写入,并把new的值给rear 此时new中数据是a,下一个地址是rear,rear中数据a,下一个地址是raer
scanf("%d",&a);//在开始写数据
}
rear->next='\0';//此时rear中数据是a,下一个地址是空
return h;



}

void main()
{


struct link *head;//先创立一个头节点
head=creat_link();

}

猜你喜欢

转载自blog.csdn.net/weixin_42828324/article/details/81281685