
数据结构与算法
一个零0
这个作者很懒,什么都没留下…
展开
-
队列基本操作
队列: 只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头。具体概念不在讲述直接上代码。 Queue.h #pragma once #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <stdbool.h> typedef i原创 2022-04-25 21:57:50 · 103 阅读 · 0 评论 -
栈基本操作
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 这里介绍栈的基本操作,具体概念可以网上的概念,直接上代码。 Stack.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once //栈:只允许固定一端进行插入和删除元素操作,称为栈顶,另一端为栈底 //出入数据都在栈顶 //我们选择动态数组的话实现起来比较简单原创 2021-12-01 22:39:26 · 208 阅读 · 0 评论 -
双向循环列表基本操作
和单项列表类似,这里介绍一些基本操作,虽然结构上比单向列表复杂,但是操作起来却简易的多。 test.c` #include "List.h" void TestList1() { /* ListNode* phead = NULL; ListInit(&phead);*/ ListNode* phead = ListInit(); ListPushBack(phead,1); ListPushBack(phead,2); ListPushBack(phead,3); ListPus原创 2021-11-28 11:26:56 · 201 阅读 · 0 评论 -
单向链表的基本操作
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 链表的操作包括增删查改。 test.c #include "SList.h" void main() { SListNode* pList = NULL; SListPushBack(&pList,1); SListPushBack(&pList,2); SListPushBack(&pList,3); SListPushBack(&pList,4); S原创 2021-10-17 22:21:11 · 98 阅读 · 0 评论 -
顺序表基本操作
顺序表 顺序表分为静态顺序表和动态顺序表,我们这里着重介绍动态顺序表的一些基本操作。 SeqList.h #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef int SLDataType; typedef struct SeqList{ SLDataType *a;//开辟的动态数组 int size;//有效数据个数 int capacity;//容量的大小 }SeqList; vo原创 2021-10-10 23:18:51 · 130 阅读 · 0 评论