自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(261)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言_编译前的预处理

编译前的预处理做的事情宏定义头文件包含注释

2022-08-21 08:34:06 645

原创 数据结构与算法_排序算法_快速排序

先写了快速排序算法的思想和过程;然后分析了算法的最好最坏情况下的时空复杂度;最后写了代码。

2022-08-19 07:46:16 197

原创 数据结构与算法_排序算法_插入排序和希尔排序

比较四种算法的时间复杂度,空间复杂度。插入,希尔,冒泡,选择排序的性能对比。

2022-08-15 23:45:13 154 1

原创 数据结构与算法_排序算法_冒泡排序和选择排序

冒泡排序和选择排序各算法的性能分析

2022-08-13 06:55:54 148 1

原创 数据结构与算法_搜索_二分搜索_循环实现和递归实现

二分查找的循环实现和递归实现二分查找时间复杂度公式推倒递归函数的理解

2022-08-12 21:56:58 124

原创 数据结构与算法_线性表_队列_栈和队列的应用

定义两个栈分别是s1和s2;s1用来存放新元素,当需要pop和peek操作时候,将s1中的元素“”倒入“”s2中,从s2中取出元素。入栈时候,向q1中入队;然后将q2中的元素依次出队,并放入q1中,这样从逻辑上q1就是一个栈。...

2022-08-06 23:28:40 78

原创 数据结构与算法_线性表_队列_循环队列和链式队列的接口实现

实现了循环队列和链式队列

2022-08-02 23:44:11 129

原创 数据结构与算法_线性表_栈_栈的应用_中缀转后缀+计算后缀表达式值

C++中缀表达式转后缀表达式,举例,逻辑实现和代码实现。后缀表达式计算结果。

2022-07-31 12:39:40 256

原创 数据结构与算法_线性表_栈_栈的接口实现

栈的特点和实现动态数组实现顺序栈;单链表实现链栈

2022-07-28 07:34:42 191

原创 数据结构与算法_线性表_双向循环链表_双向循环链表接口实现

双向循环链表特点双向循环链表接口定义

2022-07-26 23:46:17 75

原创 数据结构与算法_线性表_双向链表_双向链表接口实现

双向链表的特点双向链表的接口定义

2022-07-26 23:41:00 202

原创 数据结构与算法_线性表_单链表_单项循环列表_约瑟夫问题

约瑟夫问题

2022-07-26 07:43:50 77

原创 数据结构与算法_线性表_单链表_单项循环列表

C++实现单项循环链表的插入删除等接口定义

2022-07-26 07:33:13 87

原创 数据结构与算法_线性表_单链表_七个问题

**问题1:单链表逆序**问题2:单链表求倒数第K个节点问题3:合并两个有序单链表问题4:单链表判断是否有环? 求环的入口节点问题5:判断两个单链表是否相交,求相交节点问题6:删除链表的倒数第 N 个结点问题7:旋转链表...

2022-07-24 19:51:52 607

原创 数据结构与算法_线性表_单链表_判断单链表是否存在环,如何找环的入口节点

当两个指针相遇时候,让快指针和满指针其中的一个指针指向头结点,然后两个指针都是一步一步向前变量,当两个指针相等时候,就是环的入口节点。设置两个指针,快指针和慢指针,同时指向头结点;快指针每次走两个节点,慢指针每次一个节点。当两个指针相遇时候,有如下的等式。将遍历的每个节点的地址用数组存放起来,遍历下一个节点时候,和数组中每个地址对比,如果已经存在地址了,说明有环。记录下来,这个问题搞了半天才想明白。判断单链表是否存在环,两个思路;思路2双指针应用-快慢指针。......

2022-07-21 00:14:18 156

原创 数据结构与算法_线性表_单链表_常用操作接口和复杂度分析

分析了链表的优点和缺点;链表和数组进行了对比;用C++实现了链表的接口

2022-07-09 22:24:20 218

原创 数据结构与算法_线性表_数组_双指针在数组的应用

双指针在数组中的应用;实现了两个例子,逆序和奇数偶数前后互换

2022-07-08 23:34:32 348

原创 数据结构与算法_线性表_数组(动态数组)

C++算法与数据结构实现类似于vector的动态数据

2022-07-07 23:05:34 202

原创 C语言_双创建、前插,尾插,遍历,删除

C语言实现双链表的基本操作:创建,前插,后插,遍历,删除

2022-07-03 10:20:06 108 1

原创 C语言_单链表创建、前插,尾插,遍历,删除

单链表创建,删除,前插入,后插,遍历,逆序

2022-07-02 22:30:24 605

原创 嵌入式Linux_驱动开发:offset宏和container_of宏

container_of宏 和 offsetof宏;

2022-06-19 12:10:24 317

原创 【C++ Primer Plus(第六版)】第十三章 类继承

总结了书上十三章的内容,这章非常基础非常重要,都是以前没搞明白的知识点。

2022-06-05 10:13:34 190 1

原创 C++每日编程_Day034

一个完整的string类(十二章2题)完成这个程序,对匿名对象的生命周期有了新认识。对这个程序进行了逐步的分析,见代码中每一步注释。string2.h#pragma once#ifndef STIRNG2_H_#define STIRNG2_H_#include <iostream>#include <cstring>#include <cctype>class string2{private: char *str; int len

2022-05-21 23:08:18 189 2

原创 【C++ Primer Plus(第六版)】第十二章 类的动态内存分配

第十二章 类的动态内存分配总结一下,这一章讲的这件事:会使用new和delete对空间的分配。day33实现了string类例子,来完成对整个章节的总结。12.1 动态内存和类在类中不能确定字符串长度时,比如姓名,要定义一个指针,然后通过动态内存方式分配内存。在统计类中new的数量时,应该使用一个static静态变量,这样无论创建了多少次对象,程序只创建一个静态类变量。书中举了一个stringbad类的例子,说明了这些问题。C++类自动提供了如下几种特殊成员函数:默认构造函数默认析构函数复

2022-05-21 17:35:19 316

原创 【Linux和Shell编程】第六章-文件目录管理

第6章 文件目录管理6.1 Linux文件系统和架构记住:Linux使用正斜杠/(45度角) Windows使用反斜杠\(135度角)文件系统中主要的目录内容:/bin: 构建最小系统所需要的命令。List item /boot:内核与启动文件/dev:各种设备文件/etc:系统柜软件的启动和配置文件/hone 用户的主目录/lib C编译器的库/media 可移动介质的安装点/opt:可选的应用软件包/proc:进程的映像/root 超级用户的主目录/sbin 和操作系统有关

2022-05-19 21:34:08 196

原创 【Linux和Shell编程】第五章 Shell 基本命令

第五章 Shell基本命令5.1 Shell简介命令行和Shell是两个概念,命令行指的是供用户输入命令的界面,而shell指的是对输入的命令解释,即命令解释器。5.2 印刷规定用户身份的提示符:$root身份的提示符:#5.3 快速上手:浏览你的硬盘可以使用 ls cd 等命令查看目录。5.4 提高效率:使用命令行补全和通配符补全命令:比如a tab tab 就可以显示当前目录下所有a开头的目录文件。有三个通配符: ? []*ls a.* 匹配所有字符ls a.[a-c] 匹

2022-05-19 11:31:06 254 1

原创 【Linux和Shell编程】第二十章-Linux编程-Linux_Vim编辑器的使用

Vim编辑器的使用VIM对初学者很不友好,简直就是梦魇。Vim设计的哲学思想就是让程序员在键盘上完成编辑操作。从4个方面来记录Vim的基本功能,包括编辑和保存,搜索和替换,配置和总结等四个方面。1. 编辑和保存文件直接用 vim filename,就会自动创建一个名称为filename的文件名称。在Vim中左上上右分别是键盘上连续的四个字母:H J K L;在Vim中的某一行下面想要插入新的一行,通过 H J K L 移动的某一行后,按O就可在该行的下一行插入新的一行了。退出时,按下wq!

2022-05-16 23:38:30 153

原创 【C++ Primer Plus(第六版)】第十一章-使用类

使用类11.1 运算符重载引出:运算符重载使得语言更加灵活,生活中也是这样,比如英语中不同的物体使用不同的动词,这样英语就会变得非常笨拙。C++中基本数据类型可以做加法,但是如果对+运算符重载后,就可以实现了两个对象加法运算。11.2 计算时间:一个运算符重载的例子书上给出了重载时间类的例子,见Day30中的例子。重载运算符限制:不能重载以下运算符:sizeof运算符. 成员运算符.*成员指针运算符::作用域运算符?:条件运算符强制类型转换运算符:const_cast ,dyna

2022-05-08 20:15:35 286

原创 【C++ Primer Plus(第六版)】第十章-对象和类

第十章 对象和类10.1 过程性编程和面向对象编程面向过程首先考虑要遵循的步骤;然后考虑如何表示这些数据。面向对象首先从用户角度考虑对象,描述对象的所需的数据以及描述用户与数据交互所需的操作。10.2 抽象和类C语言中有基本数据(int float char 指针)类型完成如下工作:决定数据对象需要的内存数量;决定内存中的位(不同类型占用不同的内存位数);决定可使用数据对象执行的操作或方法。类和结构:C++对结构进行了扩展,结构和类的唯一区别是:结构默认访问是public,而类是pri

2022-05-02 21:39:35 1027

原创 【操作系统】_7种进程调度算法

书中一共描述了七种进程调度算法,为了学到这几种调度算法,后边做了几道练习题。1. 先来先服务(FCFS)调度算法先来先服务调度算法是最简单的调度方法。其基本原则是,按照进程进入就绪队列的先后次序进行选择。对于进程调度来说,一旦一个进程得到处理机,它就一直运行下去,直到该进程完成任务或者因等待某事件而不能继续运行,才会让出处理机。先来先服务调度算法属于非剥夺方式。从表面上看,这个方法对于所有进程都是公平的,并且一个进程的等待时间是可以预先估计的。但是从另一方面来说,这个方法并非公平,因为当一个大进程先到

2022-04-27 08:39:31 27858 1

原创 【嵌入式Linux_ARM裸机】---串口通信的实现

1. 通信的三个概念通信的过程可以分为三个步骤:首先,发送方按照固定编码格式进行编码;其次,将编码后的信息发送到传输介质上;最后,接收方收到后进行解码得到有效信息。串口通信概念1同步和异步:发送方和接收方的时钟节拍一致叫同步,否则叫异步。如下雨所示,最上边的一根线就是同步信号线,发送端和接收端在相同的节拍下工作。同步使用场景:当发送端和接收端频率固定时,使用同步信号。可以想象接收端一直在接收发送端的消息。异步场景:在通信的双方频率不固定时,使用异步通信。电平信号和差分信号电平信号:电平信

2022-04-13 22:10:04 1125

原创 【操作系统精髓与设计原理】第三章-进程描述和控制

记录第三章进程描述和控制。什么是进程,进程的状态,进程描述,进程控制

2022-04-10 22:14:00 717

原创 【C++ Primer Plus(第六版)】第九章-内存模型与名称空间

名称空间存储持续性,作用域和链接性编译

2022-04-10 16:06:49 855

原创 C++每日编程_Day019

namespace 命名空间placement new

2022-04-10 10:47:08 1045

原创 【C++ Primer Plus(第六版)】第八章-函数探幽总结

【C++ Primer Plus(第六版)】第八章-函数探幽总结

2022-04-04 22:15:35 973

原创 嵌入式Linux_ARM裸机_ARM汇编指令用法说明1:global/ldr,str/mcr,mrc/bic,orr/bl b/ 汇编写延时

ARM汇编

2022-03-24 22:11:32 2683

原创 计算机组成原理_中断系统

中断系统原理

2022-02-15 10:18:18 254 1

原创 计算机网络_以太网帧中的前导码和帧间隙

以太网帧中的前导码和帧间隙以太网帧格式以太网带宽计算

2022-01-26 11:05:20 16476 4

原创 离散数学及其应用_第1章_基础:逻辑和证明

离散数学及其应用,第一章总结

2022-01-08 21:32:30 329

原创 汇编语言_实验10:编写子程序

实验十

2021-12-29 21:25:51 1238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除