数据结构
欧拉恒等式
e^iπ+1=0
展开
-
c语言实现数据结构----队列
队列像栈一样,队列也是数据结构中一种受限制的线性表,它是一种先进先出的数据结构,就和我们现实生活中的排队一样。接下来我们一起来实现双向队列的一些方法双向队列的线性存储双向队列的类型定义typedef struct Deque{ int *vect; //存储元素的位置 size_t size; //队列可存储元素的个数 size_t cnt; //当前元素个数 size_t ...原创 2019-12-28 11:03:21 · 267 阅读 · 0 评论 -
C语言实现数据结构-----栈
栈栈是一种先进后出(LIFO)的数据结构,栈的一个最重要的特征就是只能在栈顶进行入栈和出栈操作。今天我们来讲一下最简单的栈的实现,静态栈的实现,可以把它看作是一个数组,但是这个数组我们只能在它的末尾进行插入和删除操作,是一种受限制的数据结构。)栈的线性存储首先我们来定义一个栈的类型typedef struct Stack{ int *vect; //元素的存储位置用void *来表示存...原创 2019-12-28 10:22:56 · 195 阅读 · 0 评论 -
C语言实现动态链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。动态链表的C语言实现结构体定义已经函数声明节点结构体定义typedef struct SNode{ void *pdata; ...原创 2019-12-21 12:41:56 · 2799 阅读 · 0 评论 -
用C语言完整实现12种排序方法
排序方法(升序):1.冒泡排序2.插入排序3.折半插排序4.希尔排序5.选择排序6.鸡尾酒排序7.堆排序8.快速排序9.归并排序10.计数排序11.桶排序12.基数排序1.冒泡排序思路:比较相邻的两个数字,如果前一个数字大,那么就交换两个数字,直到有序。时间复杂度O(n^2),稳定性:这是一种稳定的算法。代码实现:void bubble_sort(int arr[...原创 2019-12-14 11:41:12 · 3494 阅读 · 8 评论 -
AVL搜索二叉树C语言实现
什么是AVL搜索二叉树?AVL树本质上还是一棵二叉搜索树,它的特点是:1.本身首先是一棵二叉搜索树。2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉排序树,二叉搜索树)。AVL搜索二叉树的类型定义及头文件:typedef struct AVLNode{ int key; //用来存储节点所保存的...原创 2019-12-07 12:05:01 · 319 阅读 · 0 评论