#include<stdio.h>
#include<stdlib.h>
typedef int Elemtype;
typedef struct mode{
Elemtype data;
struct mode *next;
}LNode, *LinkList;
//尾插法建立单链表,链表长度为n
LinkList List_TailInsert(LinkList &L, int n)
{
printf("带头节点尾插法--输入节点");
Elemtype x;
LNode *s, *r;
L = (LNode*)malloc(sizeof(LNode)); //设置头结点
r = L;
for(int i = 0; i < n; i++)
{
scanf("%d", &x);
s = (LNode*)malloc(sizeof(LNode)); //创建新节点
s->data = x; //新节点的值为x
s->next = NULL; //新节点每次从后端插入,因此新节点的next指向NULL
r->next = s; //新节点x与它的前节点建立联系
r = s;
}
r->next = NULL;
return L;
}
//输出链表
void OutPut(LinkList L)
{
LNode *p = L;
while(p != NULL){
//TODO
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main()
{
int n;
printf("请输入有几个节点");
scanf("%d", &n);
LinkList L = List_TailInsert(L, n);
printf("尾插法-输出建立后的单链表");
OutPut(L->next);
return 0;
}
后插法建立单链表
于 2024-04-08 22:02:19 首次发布