#include<stdio.h>
#include<stdlib.h>
typedef int elemtype;
typedef struct Node
{
elemtype data;
struct Node*next;
}Node,*Linklist;
Linklist Initlist()//初始化
{
Linklist head;
head = (Linklist)malloc(sizeof(Node));
head->next = NULL;
return head;
}
void Createlist1(Linklist head,elemtype n)//头插法
{
Linklist s;
s = head;
for (int i=0; i < n; i++)
{
s = (Linklist)malloc(sizeof(Node));
scanf("%d", &s->data);
s->next = head->next;
head->next = s;
}
}
void Createlist2(Linklist head, elemtype n)//尾插法
{
Linklist s,p;
s = head;
for (int i = 0; i < n; i++)
{
p = (Linklist)malloc(sizeof(Node));
scanf_s("%d", &p->data);
s->next = p;
s = p;
}
s->next = NULL;
}
void print(Linklist head)//遍历
{
Linklist p;
p = head->next;
while (p != NULL)
{
printf("%d ", p->data);
p = p->next;
}
}
int main()
{
Linklist head=NULL;
head = Initlist();
elemtype n;
printf("输入元素个数:\n");
scanf("%d", &n);
printf("输入%d个元素:\n");
Createlist1(head, n);
//Createlist2(head, n);
print(head);
}
线性链表创建(头插法、尾插法)
于 2020-03-28 00:00:58 首次发布