线性表(5)——单链表框架搭建

本文详细介绍了单链表的基本操作实现,包括初始化、插入、删除、查找等关键函数的声明与部分空实现,适用于初学者理解和掌握链表的底层原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. LinkList.h头文件(函数声明);

2. LinkList.c源文件(函数实现); 

3.源文件main.c(包括主函数);


先看看项目文件:

总共3个文件,

LinkList.h 是头文件,包含各种函数的定义;

LinkList.c 是源文件,包含各种函数的具体功能实现,以及调用;

main.c 是主函数文件,包含主函数;

1. LinkList.h头文件(函数声明);

1. 链表的结构体定义,包括头结点head当前元素个数size

2. 链表结点的结构体定义,包括数据域data指针域next

3. 对结构体操作的一系列函数的声明

#ifndef LINK_LIST_H
#define LINK_LIST_H

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

//链表结点的结构体
typedef struct LINKNODE{
	void* data;// 指向任何数据类型的数据域
	struct LINKNODE* next;// struct LINKNODE* 类型的指针域
}LinkNode;

//整个链表的结构体
typedef struct LINKLIST{
	LinkNode* head;//头结点
	int size;//当前元素的个数
	//不需要容量
}LinkList;

//打印回调函数指针
typedef void(*PRINTLINKNODE)(void*);

//一系列对单链表LINKLIST操作的函数
//初始化链表
LinkList* Init_LinkList();
//指定位置插入
void Insert_LinkList(LinkList* list, int pos, void* data);
//删除指定位置的值
void RemoveByPos_LinkList(LinkList* list, int pos);
//获得链表的长度
int Size_LinkList(LinkList* list);
//查找
int Find_LinkList(LinkList* list, void* data);
//返回第一个结点
void* Front_LinkList(LinkList* list);
//打印链表结点,用户传入的数据转换成void*类型的
void Print_LinkList(LinkList* list, PRINTLINKNODE print);
//释放链表内存
void FreeSpace_LinkList(LinkList* list);


#endif

 

2. LinkList.c源文件(函数实现); 

1. 各种函功能的实现;

2. 头文件#inclde "LinkList.h"的引入;

#include "LinkList.h";

//初始化链表
LinkList* Init_LinkList(){
	return NULL;
}
//指定位置插入
void Insert_LinkList(LinkList* list, int pos, void* data){
	
}
//删除指定位置的值
void RemoveByPos_LinkList(LinkList* list, int pos){

}
//获得链表的长度
int Size_LinkList(LinkList* list){
	return 0;
}
//查找
int Find_LinkList(LinkList* list, void* data){
	return 0;
}
//返回第一个结点
void* Front_LinkList(LinkList* list){
	return NULL;
}
//打印链表结点,用户传入的数据转换成void*类型的
void Print_LinkList(LinkList* list, PRINTLINKNODE print){

}
//释放链表内存
void FreeSpace_LinkList(LinkList* list){

}

 

3.源文件main.c(包括主函数);

1. 包括主函数main.c; 

2. 头文件#inclde "LinkList.h"的引入;

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "LinkList.h";

int main(void){


	system("pause");
	return 0;
}

经过测试,没有问题!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值