2.2 创建单链表(头插操作)

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

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

int main() {

	int a[6] = { 33,24,45,65,23,55 };
	//初始化头指针
	LNode	*L = (LinkList)malloc(sizeof(LNode));
	if(L!=NULL)L->next = NULL;

	//创建链表
	LinkList CreateLinkList(LNode * L, int data[], int length);
	CreateLinkList(L, a, 6);

	//输出链表
	void PrintLinkList(LinkList L);
	PrintLinkList(L);

	return 0;
}

//创建链表函数——课本p30代码实现
LinkList CreateLinkList(LNode *L, int data[], int length) {
	LNode *p;
	for (int i = 0; i < length; i++)
	{
		p = (LNode *)malloc(sizeof(LNode));
		if (p!=NULL)
		{
			p->data = data[i];
			p->next = L->next;
			L->next = p;
		}
	}
	return L;
}

//输出链表函数
void PrintLinkList(LinkList L) {
	LNode *p;
	p = L->next;
	while(p!=NULL)
	{
		printf("%d\t", p->data);
		p = p->next;
	}
}
posted @ 2022-03-15 10:47  千树line  阅读(98)  评论(0)    收藏  举报