链表
黄色的拉拉6
BU & MU 少儿编程
展开
-
24.C语言实战项目(链表、指针、结构体的综合运用):学生成绩管理系统
C语言实战项目:学生成绩管理系统学生结构体班级结构体创建学生链表创建班级链表打印出每一个学生的各科成绩、总分、平均分找出总分最高分学生的班级、学号、分数找出总分最低分学生的班级、学号、分数 学生结构体 struct Student { int classNum; int xuehao; int Chinese; int maths; int English; float sum; float average; struct Student* next; }; 班级结构体 stru原创 2021-08-11 01:37:18 · 554 阅读 · 0 评论 -
23.动态链表的创建——尾插法
动态链表的创建——尾插法核心代码 核心代码 struct Test* insertFromBehind(struct Test* phead,struct Test* new) { struct Test* p=phead; if(phead==NULL) { phead=new; return phead } while(p->next!=NULL) { p=p->next; } p->next=new; return phead; }原创 2021-07-31 23:40:30 · 150 阅读 · 1 评论 -
22.动态链表的创建——头插法
动态链表的创建——头插法核心代码 核心代码 struct Test* insertFromHead(struct Test* phead) { struct Test* new=NULL; while(1) { new=(struct Test*)malloc(sizeof(struct Test)); printf("Please input node:\n"); scanf("%d",&(new->data)) if(phead==NULL) { phe原创 2021-07-28 01:18:57 · 157 阅读 · 0 评论 -
21.链表的更改
链表的更改核心代码示例 核心代码 struct Test* gaiNode(struct Test* phead,int data,int newdata) { struct Test* p=NULL; p=phead; while(p!=NULL) { if(p->data==data) { p->data=newdata; return phead; } p=p->next; } return phead; } 示例 将链表中的 8 改成原创 2021-07-27 13:26:43 · 129 阅读 · 0 评论 -
20.链表节点的删除
链表节点的删除核心思路核心代码 核心思路 核心代码 #include <stdio.h> struct Test { int data; struct Test* next; }; void printLink(struct Test* phead) { struct Test* point=phead; while(point!=NULL) { printf("%d ",point->data); point=point->next; } pu原创 2021-07-25 00:12:47 · 89 阅读 · 0 评论 -
19.链表插入——头插法
链表插入——头插法核心思想核心代码头插法示例 核心思想 当目标节点为第一个节点时 当目标节点为非首节点时 核心代码 当目标节点为第一个节点时 if(p->data==data) { new->next=p; return new; } 当目标节点为非首节点时 while(p->next!=NULL) { if(p->next->data==data) { new->next=p->next; p->next=new;原创 2021-07-19 10:37:08 · 294 阅读 · 0 评论 -
18.链表插入——尾插法
链表插入——尾插法核心思想核心代码注意示例 核心思想 找到要插到后方的节点 new->next = p->next p->next = new 核心代码 void insertBehind(struct Test* phead,int data,struct Test* new) { struct Test* p; p=phead; while(p!=NULL) { if(p->data==data) { new->next=p原创 2021-07-09 17:31:04 · 1525 阅读 · 0 评论 -
17.计算链表节点个数 && 链表的查找
计算链表节点个数 && 链表的查找计算链表节点个数链表的查找示例 计算链表节点个数 int totalNodeNum(struct Test* phead) { int cnt=0; while(phead!=NULL) { cnt++; phead=phead->next; } return cnt; } 链表的查找 int searchNode(struct Test* phead,int data) { while(phead!=NULL) { i原创 2021-07-09 10:16:32 · 965 阅读 · 1 评论 -
16.链表静态添加和动态遍历
链表静态添加和动态遍历链表静态添加链表动态遍历示例 链表静态添加 直接在链表尾部加 struct Text* tn={x,NULL}; tn.next=&t(n+1) 链表动态遍历 void printLink(struct Test* phead) { struct Test* point=phead; while(point!=NULL) { printf("%d ",point->data); point=point->next; } putchar('\原创 2021-06-30 21:38:16 · 142 阅读 · 0 评论 -
15.链表是个好东西!good job!
链表的引入链表定义链表特点单链表的引入示例 和数组相同,链表也是一种线性表结构。作为非常基础、非常常用的两种数据结构,数组和链表经常被拿来比较。 链表定义 链表是一种线性表数据结构。 从底层存储结构上看,链表不需要一整块连续的存储空间,而是通过“指针”将一组零散的内存块串联起来使用。 链表中的每个内存块被称为链表的“结点”,每个结点除了要存储数据外,还需要记录上(下)一个结点的地址。 链表特点 插入、删除数据效率高,只需要考虑相邻结点的指针改变,不需要搬移数据,时间复杂度是 O(1)。原创 2021-06-30 11:20:58 · 115 阅读 · 0 评论
分享