数据结构与算法——单链表
关于单链表的一个简单的题目
以下程序输入一个整数n,再输入n个整数,以此按数据大小建立一个链表,再输出该链表所有节点的数据,然后删除整个链表。如输入5 33 88 55 77 11,则输出11 33 55 77 88。
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LinkList;
LinkList * CreateList(LinkList *L, int n);
void DispList(LinkList *L);
void DestoryList(LinkList *L);
int main()
{
int n;
LinkList *head;
scanf("%d",&n);
head = CreateList(head,n);
DispList(head);
DestoryList(head);//在CreatList函数中申请的内存,就可以通过DestoryList函数释放
//可以通过DispList及DestoryList这两个函数验证
return 0;
}
LinkList * CreateList(LinkList *L, int n)
{
LinkList *s;
int i;
L = (LinkList *)malloc(sizeof(LinkList));
L->next = NULL;
for (i = 0; i < n; i++)
{
s = (LinkList *)malloc(sizeof(LinkList));
scanf("%d",&s->data);
s->next = L->next;
L->next = s;
}
return L;
}
void DispList(LinkList *L)
{
LinkList *p = L->next;
while(p != NULL)
{
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
void DestoryList(LinkList *L)
{
LinkList *pre = L,*p = L->next;
while(p != NULL)
{
free(pre);
pre = p;
p = p->next;
}
free(pre);
}
【华为OD机试真题】可以转到CSDN相关专栏订阅学习:https://blog.csdn.net/weixin_45541762/article/details/129903356
标签:
c语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】