C语⾔链表(⼀)创建⼀个简单的链表C语⾔创建⼀个简单的链表
/*
->⾸先编写头⽂件MyListDemo.h,我们定义了⼀个链表的结构体
->⾥⾯简单封装了链表⾃⾝的属性(存放的数据,指向下⼀个链表的指针)
*/
#include<stdio.h>
#include<malloc.h>c语言listinsert函数
typedef struct MyList
{
int m_num;//链表中需要存放的数据
MyList* m_next;//指向链表
}MyList;
//定义了两个功能函数
MyList**AddNode(MyList** myList,int data);
//MyList* MyListInsert2(MyList* myList, int data);
void Show(MyList* head);
完成上⼀步后,在c⽂件中,我们开始进⾏功能函数的编写。
#include"MyListDemo.h"
int main()
{
//定义⼀个链表变量,作为链表头的,因为后⾯若遍历到表尾需要根据这位置遍历回表头
MyList* head =NULL;
/
/再定义⼀个⼆级指针链表变量,⽤来更新保存改动后新的链表节点位置
MyList** move =&head;
for(int i =0; i <10; i++)
{
move =AddNode(move, i);
}
Show(head);
}
//增添⼀个节点
MyList**AddNode(MyList** myList2,int data)
{
(*myList2)=(MyList*)malloc(sizeof(MyList));//为当前节点申请空间
(*myList2)->m_num = data;//数据赋值
(*myList2)->m_next =NULL;//若后续不继续申请空间,此处为结尾
//关键是理解这步,从当前节点移动到下个节点,那么后续的"当前结点"就是结点next了
return&(*myList2)->m_next;
}
//展⽰数据
void Show(MyList* head)
{
//当前不为空的话,就⼀直向后遍历数据
while(head !=NULL)
{
printf("num:%d\r\n", head->m_num);
//移动到下⼀个结点
head = head->m_next;
}
}
最后验证功能,遍历成功
承接C语⾔设计康难度⽽定只需1北左右。 有意 a923510073 QQ 923510073 欢迎咨询进⾏学习上的问题交流。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论