数据结构
单链表、双链表、顺序表、栈、队列、二叉树、堆的基本操作
脆订壳
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表创建与遍历(递归)-C语言
链表创建与遍历(递归) #include <stdio.h> #include <string.h> typedef struct link { char data; struct link *next; }Link; int a[]={3, 2, 5, 8, 4, 7, 6, 9, 10, 520}; void CreateLink(Link **Lk); void CreateLink1(Link **Lk, int *a); void PrintList(Link *L原创 2021-12-19 16:06:40 · 1264 阅读 · 0 评论 -
二叉树的基本操作(递归)-C语言
//二叉树的基本操作 #include <stdio.h> #include <stdlib.h> typedef int DataType; typedef struct Tree { DataType data; //存储的数据域 // char data; struct Tree *lchild; //指向当前节点的左孩子 struct Tree *rchild; //指向当前节点的右孩子 }BitTree; BitTree *Create原创 2021-12-18 21:29:57 · 973 阅读 · 0 评论 -
队列的实现(链表)-C语言
队列的实现(链表) 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)。 入队列:进行插入操作的一端称为队尾。 出队列:进行删除操作的一端称为队头。 队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。 #include <stdio.h> #include <assert.h> #include <stdbool原创 2021-12-15 15:23:15 · 1091 阅读 · 0 评论 -
栈的实现(数组)-C语言
栈的实现(数组) 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈: 栈的插入操作叫做进栈、压栈、入栈,入数据在栈顶。 出栈: 栈的删除操作叫做出栈。出数据在栈顶。 栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优化一些。因为数组在尾上插入数据的代价比较小。 #include <stdio.h> #include &l原创 2021-12-15 15:11:14 · 1343 阅读 · 1 评论 -
顺序表(动态)的基本操作大全-C语言
顺序表(动态)的各种基本操作 静态顺序表:使用定长数组存储元素。 动态顺序表:使用动态开辟的数据存储。 静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。 优点: 支持随机访问。需要随机访问数据时,可以适应很好的算法。 缺点: 头部、中部插入插入时间效率低。 连续的物理空间,空间不够了以后需要增容: ① 增容有一定层度的消耗。 ② 为了避免频繁的增原创 2021-12-14 20:33:32 · 666 阅读 · 0 评论 -
双向链表的基本操作大全(增删改查...)-C语言
//双向链表的基本操作(增删改查...) //新创建双链表为 41->67->34->0->69->24->78 //在表中第 4 的位置插入元素 1 41->67->34->1->0->69->24->78 //在表中第 2 的位置插入元素 8 41->8->67->34->1->0->69->24->78 //表中删除元素 8原创 2021-11-30 19:39:33 · 385 阅读 · 0 评论 -
单链表的基本操作大全(增删改查...)-C语言
//单链表的基本操作(增删改查...) //新创建的链表为:1->7->4->0->9->4->8 //7 find! //7前插入是: //1->4->7->4->0->9->4->8 //4 find! //4后插入是: //1->4->8->7->4->0->9->4->8 //7 find! //删除7后是:1->4->8->4->0->9-&g原创 2021-11-30 19:38:24 · 175 阅读 · 0 评论 -
单链表的创建与遍历-C语言
//单链表的创建与遍历 #include <stdio.h> #include <stdlib.h> struct node { int data; struct node *next; }; typedef struct node Node; int main() { Node *head, *p, *q; p = (Node *)malloc(sizeof(Node)); p->data = 20; head = p; //单链表的创建 for(int i原创 2021-11-28 21:54:57 · 846 阅读 · 0 评论
分享