C语言高级进阶
链表是由一系列互相连接的节点组成的数据结构,这种数据结构非常有用,是实现队列和栈的基础。
学习内容
这一章我们继续单链表的学习,实现一个单链表的创建,插入,删除,判空,显示以及销毁。代码来自于(B站)史上最强最细腻的linux嵌入式C语言学习教程【李慧芹老师】,需要学习的童鞋自行搜索观看,此处不多介绍。
学习产出
list.h
#ifndef __LIST_H__
#define __LIST_H__
typedef int datatype;
typedef struct node_st
{
datatype data;
struct node_st *next;
}list;
list *list_create();
int list_insert_at(list *, int i, datatype *);
int list_order_insert(list *, datatype *);
int list_delete_at(list *, int i, datatype *);
int list_delete(list *, datatype *);
int list_isempty(list *);
void list_display(list *);
void list_destroy(list *);
#endif
list.c
#include <stdio.h>
#include <stdlib.h>
#include "list.h"
list *list_create()
{
list * me;
me = malloc(sizeof(*me));
if(NULL == me)
return NULL;
me->next = NULL;
return me;
}
int