结点的定义,每个结点都由数据域和指针域构成,其实指针域的指针指向下一个结点
typedef struct _node {
void *data;//数据域
struct _node *next;//指针域
}NODE;
链表的结构定义
typedef struct{
NODE *head;
NODE *last;
int size;
}LIST;
头指针和尾指针以及链表的大小
初始化一个结点
LIST *InitList(){
LIST *l=(LIST *)malloc(sizeof(LIST));
if(l==NULL){
exit(0);
}
memset(l,0,sizeof(LIST));
return 1;
}
void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
memset();将l里的内容赋空值
在表的结尾插入一个新结点
int InsertList(LIST *l,void *data,int size){
if(l==NULL || data==NULL ){
return 0;
}
NODE *n=(NODE *)malloc(sizeof(NODE));
if(n==NULL){
return 0;
}
n->data=mallco(size);
if(n->data==NULL){
return 0;
}
memcpy(n->data,data,size);
n->next=NULL;
if(l->head==NULL){
l->head=n;
}
else{
l->last->next=n;
}
l->last=n;
l->length++;
return 1;
}
还有一个查找结点的函数,稍后送上。。。
分享到:
相关推荐
数据结构之单链表实验报告 数据结构之单链表实验报告 做的很全的 。适合计算机与学习数据结构课程的所有本专科学生。
链表 单链表_C++数据结构之单链表实现
链表 使用C++实现链表数据结构之单链表
java数据结构之单链表知识
单链表 基于JAVA的数据结构之单链表操作合
对于数据结构中单链表的相应功能的实现 在黑框下的操作
单链表(数据结构C语言版) 链表的创建,插入,删除,排序等操作并建立有菜单,可以选择操作
单链表的各种操作,适合于初学,也适合于复习 单链表操作介绍 1. 创建头节点 2. 创建有数据节点 3. 判断链表是否为空 4. 遍历链表(有头节点链表) 5. 遍历链表(无头节点链表) 6. 头插、头删、尾插、尾删 7. 按照顺序...
数据结构试验 单链表的基本操作及应用 源代码 下载
单链表模版实现 功能: 1 创建 2 遍历 3 反转 4 插入 5 取值 6 修改某位置值 7 删除
单链表是一个非常有用的结构,在实际开发中经常用到,期望对大家有帮助。
数据结构老师布置的作业,运用课本代码,较为基础经典,适合大学本科在上数据结构这门课的同学参考,简单易懂,关于单链表的逆置问题
单链表中,在第i个结点前插入值为x的结点
主要为大家详细介绍了Python数据结构之单链表的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
数据结构课程单链表实验报告.docx