您的位置:首页 > 其它

尾插法创建单链表

2011-09-10 21:26 246 查看
#include <stdio.h>
#include <stdlib.h>

/*链表节点定义*/
typedef struct Lnode
{
int data;
struct Lnode *next;
}Lnode, *LinkList;      //定义节点,头指针类型名

/*尾插法创建单链表*/
void Create_LinkList_Back(LinkList &H)
{
int cycle = 1, x;
LinkList p, s;
H =(LinkList)malloc(sizeof(Lnode)); //生成头结点
H->next = NULL;
p = H;
while(cycle)
{
printf("请输入插入节点的数值,输入-1结束输入\nx=?\n");
scanf("%d",&x);
if(x != -1)
{
s = (Lnode*)malloc(sizeof(Lnode));
s->data = x;
p->next = s;
p = s;     //p指针再次指向尾节点
}
else
{
cycle = 0;
}
}
p->next = NULL;
}

/*打印单链表*/
void Print_LinkList(LinkList &H)
{
Lnode *p = H->next;   //H是头指针,p指向第一个节点,开始打印
printf("链表中的元素依次为:\n");
while(p)
{
printf("%d\n",p->data);
p = p->next;
}
}

int main()
{
LinkList head;
Create_LinkList_Back(head);
Print_LinkList(head);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: