#include "myhead.h"
struct slist *head;//链表初始化
//单链表
struct slist
{
char buf[100];
struct slist *next;
};
//初始化列表
struct slist *list_init()
{ //分配堆空间
struct slist *head=malloc(sizeof(struct slist));
if(NULL==head)
{
printf("malloc head fail\n");
return NULL;
}
head->next=NULL;
return head;
}
//插入数据(尾插)
int list_insert(struct slist *head, char *buf)
{ //准备新节点
struct slist *newlist=malloc(sizeof(struct slist));
strcpy(newlist->buf,buf);
newlist->next=NULL;
//找到最后一个节点
struct slist *p=head;
while(p->next!=NULL)
p=p->next;
p->next=newlist;//挂在末尾
}
//删除数据
int list_remov(struct slist *head, char *buf)
{ //
struct slist *p=head->next;
struct slist *q=head;
while(NULL!=p->next)
{
if(strcmp(p->buf,buf)=0)//找到要删除的内容
{
q->next=p->next;
free(p);
break;
}
p=p->next;
q=q->next;
}
strcpy(ne
读取目录,用链表保存读取到的文件名
最新推荐文章于 2022-02-04 02:57:11 发布
本文介绍了单链表的概念及其相对于顺序表的优势,如内存灵活性和高效数据操作。通过详细讲解链表节点结构及可能出现的段错误,帮助读者理解链表操作的关键点。并探讨了链表头节点是否存储数据的问题,建议头节点通常用于遍历,但也可存放链表描述信息。
摘要由CSDN通过智能技术生成