读取目录,用链表保存读取到的文件名

本文介绍了单链表的概念及其相对于顺序表的优势,如内存灵活性和高效数据操作。通过详细讲解链表节点结构及可能出现的段错误,帮助读者理解链表操作的关键点。并探讨了链表头节点是否存储数据的问题,建议头节点通常用于遍历,但也可存放链表描述信息。
摘要由CSDN通过智能技术生成
#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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值