正位序建立一个单链表

来源:百度知道 编辑:UC知道 时间:2024/09/26 13:29:18

#include <stdio.h>
#include <stdlib.h>

typedef struct Node
{
int data;
struct Node *next;
} LNode, *LinkList;

//建立带头结点head的链表,新产生的结点链表表尾
void CreateLink(LinkList head)
{
int data;
LinkList p, q;
printf("请输入结点[-1]退出:");
scanf("%d", &data);
while( data != -1)
{
p = (LinkList) malloc(sizeof(LNode));
p->data = data;
p->next = NULL;
if (head->next == NULL) //如果链表只有头结点,那么头结点next指向p,并用q指向p结点;
{
head->next = p;
q = p;
}
else //如果头结点next不为空,那么用q的next指向p,并使q指向p
{
q->next = p;
q = p;
}
printf("请输入结点[-1]退出:");
scanf("%d", &data);
}
}

//打印带头结点的链表
void PrintLink(LinkList head)
{
LinkList p = head->next;//是变量p指向头结点的下一个值
while(p) //当p不为空则,打印data域
{
printf("%d "