仅以本文章记录学习过程,用于以后忘记时候方便复习
有需要的自行参考
开发环境为vscode,使用VS2019、VS2022时scanf会报错,修改为scanf_s即可
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data;//数据域
struct Node *next;//指针域
} Node, *LinkList;
struct Node*CreateList()//建立单链表
{
LinkList Head;//头结点
Head = (struct Node *)malloc(sizeof(Node));
Head->next = NULL;
Node *p, *q;
p = q = Head;//指针结点,储存数据时结点移动
int num;
while (1)
{
p = (struct Node *)malloc(sizeof(Node));
scanf("%d", &num);
p->data = num;
if(num==-1)//当输入-1时跳出循环,
{
break;
}
// p->next = q->next;//头插法
// q->next = p;
q->next = p;//尾插法
q = q->next;
q->next = NULL;
}
ret