数据结构
文章平均质量分 68
all of the time
一名嵌入式软件工程师,熟悉51系列、stm32系列、MSP430系列以及Linux底层驱动和上层应用。代码不重要,重要的是代码背后的思维,别人无可复制!共勉。
展开
-
串口队列-数据解析
串口是MCU最常用的外设资源之一,现在市面上很多传感器或者模组的控制方式用到都是串口,这就不得不面对一个很严肃的问题:如果合理使用串口才能尽可能地介绍数据的丢失和解析异常。 串口数据解析的方法有很多,最简单的办法就是定义一个数组,然后将串口接收到的数据以此填充到这个数组里面,然后再做解析,就像这样:void USART3_IRQHandler(void) //串口3中断服务程序{ u8 Res=0; Res = USART_ReceiveData...原创 2022-03-27 12:02:21 · 7718 阅读 · 0 评论 -
数据结构06----查找排序算法
先贴出数据结构的前五篇:单链表双链表栈队列树今天这篇,我们来说一下数据结构最后一个内容:查找排序算法**七、查找排序算法**排序查找某些数据使我们在程序中经常使用的,本文介绍几种常用的查找排序算法以供大家参考,不喜勿喷。1.折半查找折半查找要求数据必须是有序的,即,顺序结构,有序排列(从小到大或者从大到小),这个很好理解,我们直接上代码:#include "stdio.h"int half_find(int *a,int n){ int i; int mid,low,hi原创 2020-09-11 08:35:01 · 273 阅读 · 0 评论 -
数据结构05----C语言树
前面几节的内容,链接如下:单链表双链表栈队列今天我们来看看数据结构中的另外一个重要内容:树六、树前面我们学习的都是线性结构,现在说的树属于一种非线性结构。树的模型,类似于一个家族的族谱,相信不用多说,大家就可以想象出他的样子。1.树的定义树是n(n>=0)个元素的有限集合。当n = 0时,称为空树。当n>0 时,则在这颗树中的结点有如下特征:①有且仅有一个特定的称为根(root)结点,他只有直接后继,但是没有直接前驱;②当n>1时,其余结点可分为m(m>0)个互原创 2020-09-01 19:46:22 · 308 阅读 · 0 评论 -
数据结构04----C语言队列
前面三次的链接如下:数据结构01----单链表数据结构02----双链表数据结构03----栈本篇来说一下数据结构中的队列。五、队列队列是是一种先进先出(FIFO)的线性表,只允许在一端进行插入(入队)操作,在另一端进行删除(出队)操作。队列中,允许入队操作的一端叫做队尾,允许出队操作的一端叫做队头。和之前的栈一样,C语言实现分两种讲解:链队列和顺序队列。1.链队列在链表的基础上,按照先进先出的原则操作数据。C语言编程思路:①结点定义;②链表初始化; 定义头结点,赋值给头指针原创 2020-08-24 17:28:29 · 306 阅读 · 0 评论 -
数据结构03----C语言栈
前面已经介绍了链表:数据结构01----C语言单向链表数据结构02----C原因双向链表今天我们来看下数据结构中的栈的介绍和C语言的实现。四、栈1.简介栈是限定只在表头进行插入(入栈或者压栈)与删除(出栈或者弹栈)操作的线性表,这里的表头称为栈顶,表尾称为栈底。其中,出栈的第一个元素称为栈顶元素,出栈的最后一个元素称为栈底元素。由此可见,栈 是一种 后进先出 的数据存储结构。如下图:其中1/2/3/4表示入栈的顺序。1.链栈栈的C语言实现,我们这里分两种介绍,一种是链栈,一种是顺序原创 2020-08-24 12:55:32 · 183 阅读 · 0 评论 -
数据结构02----C语言双向链表
接着上一次的单向链表,今天说一下双向链表给个传送门:单向链表3.双向不循环链表双向不循环链表模型如下:和单向链表一样,双向链表的一个节点也是由数据域和指针域组成,只不过,双向链表的指针域有两个指针,一个指针prev指向上一个节点(prev保存的上一个节点的地址),一个指针next指向下一个节点(next保存的是下一个节点的地址)。其他概念和之前的一样。对双向链表的操作,也是增删改查,我们直接看程序:#include <stdio.h>#include <stdlib.h&原创 2020-08-20 22:54:49 · 286 阅读 · 0 评论 -
数据结构01----C语言单向链表
一、数据结构与算法简介1.什么是数据结构?简单的说法,就是数据以及数据之间存在的关系逻辑关系和物理关系(逻辑结构和物理结构)逻辑关系:即认为赋予的关系:一对一:线性表 栈 队列一对多:树多对多:图物理关系:数据在计算机中的实际存储。那么这个告诉我们,在选择数据的存储结构的时候,需要我们理清楚数据之间结构,从而选择一个合适的物理结构。2.数据结构与算法有这么一个式子,相信大家不会陌生:程序=结构+算法数据结构上面已经介绍过,那么什么是算法呢?所谓的算法就是对一个任务完成的具原创 2020-08-19 23:56:55 · 346 阅读 · 0 评论