Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >数据处理思想和程序架构: 对使用的数据进行优先等级排序的缓存

数据处理思想和程序架构: 对使用的数据进行优先等级排序的缓存

作者头像
杨奉武
发布于 2020-12-22 08:33:24
发布于 2020-12-22 08:33:24
1.1K0
举报
文章被收录于专栏:知识分享知识分享

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/单片机知识点总结/directory.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

说明

现在有个这个事情.

我有一个设备,然后好多APP都来控制这个设备.

每个APP都有一个标识符,设备想要和某个APP通信

设备的数据里面需要携带着APP的标识符.

简单的处理就是设备去把每一个APP的标识符记录下来

然后设备发送数据的时候根据标识符一个一个的去发送数据.

但是设备不可能无限制的记录APP的标识符.

而且为了给新来的APP腾出位置记录其标识符

还需要把那些长时间不使用的标识符删除掉.

整体思路

用一个buff记录每一条数据.

往里存储的时候判读下有没有这条数据

如果有这个数据,就把这个数据提到buff的第一个位置,然后其它数据往后移

如果没有这个数据就把这个数据插到buff的第一个位置,其它数据也往后移

使用

1.我封装好了这个功能

2.使用的一个二维数组进行的缓存

测试刚存储的优先放到缓存的第一个位置(新数据)

1.先存储 6个0字符 再存储6个1字符

2.执行完记录6个0字符,数据存储在缓存的第一个位置

3.执行完记录6个1字符,6个1字符数据存储在缓存的第一个位置,0字符存储在缓存的第二个位置

测试刚存储的优先放到缓存的第一个位置(已经存在的数据)

1.测试一下如果再次记录相同的数据,缓存把数据提到第一个位置,其它位置往后移

注:

执行存储0字符,正常运行应该是把0存储在第一个位置

然后执行记录1字符,正常运行应该是把1存储在第一个位置,0存储在第二个位置

然后执行记录2字符,正常运行应该是把2存储在第一个位置,1存储在第二个位置,0存储在第三个位置

然后再次记录1,正常运行应该是把1提取出来(程序里面会用其它数据填补这个空缺),放到第一个位置

然后2存储在第二个位置,0存储在第三个位置

使用里面的数据

直接调用这个数组就可以,数组的每一行代表存储的每一条数据

提示:

如果程序存储满了,自动丢弃最后一个位置的数据.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python数据分析学习笔记—python基础知识
python数据分析学习笔记系列——基础知识篇 总第44篇 ▼ 基本概念 1、数 在Python中有4种类型的数——整数、长整数、浮点数和复数。一般我们默认只使用整数—int;浮点数—float两种。
张俊红
2018/04/11
1.8K0
python数据分析学习笔记—python基础知识
数据处理思想和程序架构: 单片机stm32的flash保存数据优化方案(让擦写次数达到上百万至上千万次)
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/单片机知识点总结/directory.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
杨奉武
2020/09/07
4.2K0
数据处理思想和程序架构: 单片机stm32的flash保存数据优化方案(让擦写次数达到上百万至上千万次)
数据结构初步(十二)- 插入排序与希尔排序超详细图解分析
说起排序我们都不会陌生,日常生活中处处藏着排序的影子。比如班级排名、网络购物时物品的排列等等… 我们知道排序,但是排序的方法也是多种多样的,有的排序效率低:比较排序、插入排序等,有的排序效率高:比如快速排序等,博主将带着你了解一些排序有关的算法,你准备好了吗!
怠惰的未禾
2023/04/27
6470
数据结构初步(十二)- 插入排序与希尔排序超详细图解分析
数据处理思想和程序架构: 单片机stm32f407xxx系列flash存储方案
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/单片机知识点总结/directory.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
杨奉武
2021/03/05
2K0
数据处理思想和程序架构: 单片机stm32f407xxx系列flash存储方案
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
本篇为指针系列的最后一篇,我们将在该篇 vlog 对指针的常见表达形式的概念及技巧进行深入的解析,通过该篇 vlog 可以让你以后在遇到指针时基本都能将代码转化为自己的语言去理解,建议先思考后再看解析,更有助于加深理解,希望能够为广大读者们在初学指针时排忧解惑 😃
DARLING Zero two
2024/11/19
570
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
你真的知道TCP协议中的序列号确认、上层协议及记录标识问题吗?
在前面的内容中,我们已经详细讲解了一系列与TCP相关的面试问题。然而,这些问题都是基于个别知识点进行扩展的。今天,我们将重点讨论一些场景问题,并探讨如何解决这些问题。
努力的小雨
2024/01/18
4842
4-1-关于环形队列
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/单片机知识点总结/directory.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
杨奉武
2021/05/11
4080
4-1-关于环形队列
数据结构与算法系列之散列表(一)(GO)
关于散列表的代码实现及下边实践部分的代码实现均可从我的Github获取(欢迎star^_^)
书旅
2020/12/09
1.1K0
直接插入排序
算法思想 把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列。 设无序数组为a[0…n-1]。 1.初始时,a[0]自成1个有序区,无序区为a[1..n-1]。 2.令i=1,将a[i]插入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。 3.i++并重复第二步直到i==n-1,排序完成。 ---- 一趟直接插入排序方法 具体做法: 将待插入记录 a[i]的关键字从右向左依次与有序区中记录 aj的关键字进行比较: 1.若 a[j]的
qubianzhong
2019/07/01
4190
插入排序
插入排序 核心思想:局部有序,可以和选择排序进行比较,选择排序是每次都找所有值的最值, 基本原理 从小到大排序 从第一个元素开始,假定他是已排序的 取出他的下一个元素(假设他叫a),和前面已经排序的对比, 如果前面已经排序好的元素(假如他叫b)大于a,则排序好的元素(b)往后移 重复3,直到找到已排序的元素小于或者等于a的位置 将a插入到改位置 重复上述步骤 复杂度 稳定性 如何判断稳定性?个人总结: 有若干元素,其中A元素和B元素相等,并且A元素在B元素前面,如果使用某种排序算法排序后,能够保证A
hss
2022/02/25
2560
C++017-C++冒泡排序与插入排序
在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/
用户2225445
2023/10/16
1970
C++017-C++冒泡排序与插入排序
《数据结构与算法之美》——冒泡排序、插入排序、选择排序
当然,撇开这些业务场景,排序算法本身有一些自己的衡量指标,比如我们经常提到的复杂度分析。
JackieZheng
2019/05/25
4440
手撕初阶数据结构之---排序
排序:所谓排序,就是使⼀串记录,按照其中的某个或某些关键字的⼤⼩,递增或递减的排列起来的操作。
凯子坚持C
2024/09/23
570
手撕初阶数据结构之---排序
android bitmap的缓存策略
MelonTeam
2018/01/04
1.2K1
第2讲:C语言数据类型和变量
使用 整型类型来描述整数,使用 字符类型来描述字符,使用 浮点型类型来描述小数。
用户11290648
2024/09/25
1750
第2讲:C语言数据类型和变量
STL&string&模拟实现
STL(standard template library-标准模板库):是C++标准库的重要组成部分,不仅是一个可以复用的库,而且是一个包罗数据结构与算法的软件框架。
用户10551528
2024/03/18
840
STL&string&模拟实现
数据结构-散列表(上)
Word 这种文本编辑器你平时应该经常用吧,那你有没有留意过它的拼写检查功能呢?一旦我们在 Word 里输入一个错误的英文单词,它就会用标红的方式提示“拼写错误”。Word 的这个单词拼写检查功能,虽然很小但却非常实用。你有没有想过,这个功能是如何实现的呢?
acc8226
2022/05/17
8820
数据结构-散列表(上)
【C语言】手把手带你拿捏指针(完)(指针笔试、面试题解析)
   在学习操作符的时候,我们学习了 sizeof , sizeof 计算变量所占内存内存空间大小的,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小,它并不在意内存中存放什么数据    sizeof格式上有一个特点就是,如果计算的是变量的大小,可以省略小括号,当然还是建议都写上小括号,这样可以增加代码的可读性,现在我们使用sizeof举一下例:
TANGLONG
2024/10/15
990
【C语言】手把手带你拿捏指针(完)(指针笔试、面试题解析)
实例说明
上一节,我们大致总揽了一个简单C程序的框架,程序如下: #include<stdio.h> /*引入头文件*/ int main(void) /*一个简单的C程序*/ { int number; /*定义个名字叫做number的变量*/ number=2014; /*给number赋一个值*/ printf("Hello ! I am clang.cc\n"); /*像屏幕打印一句话*/ printf("This year is %d\n",number); return 0; } 程序细节 或许您已经
编程范 源代码公司
2018/04/16
1.4K0
手把手教你半个小时用python语言编程出你的第一个程序
该文章介绍了如何通过Python的os模块实现文件目录的管理。主要包括创建、删除、重命名目录和文件,以及使用os.path模块处理文件路径相关的操作。还介绍了os模块中的其他函数,如获得文件属性、重命名文件和目录、删除文件等。
企鹅号小编
2018/01/09
1.8K0
手把手教你半个小时用python语言编程出你的第一个程序
推荐阅读
相关推荐
python数据分析学习笔记—python基础知识
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文