- 博客(99)
- 资源 (1)
- 收藏
- 关注
原创 C现代方法(第8章)笔记——数组
C语言的数组是一种用于存储多个相同类型的数据元素的数据结构。它们是一种非常基本且重要的数据类型,用于在程序中组织和管理数据。
2023-10-17 19:35:58
358
2
原创 嵌入式基础——哈弗结构
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统的4条总线,即程序的数据总线与地址总线数据的数据总线与地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,进而提高了数据的吞吐率。
2023-10-16 19:58:22
943
原创 C现代方法(第7章)笔记——基本类型
C语言的基本数据类型包括整数类型、浮点数类型、字符类型和空类型。此外,C语言还支持限定符,如signed和unsigned,用于指定整数类型的有符号或无符号属性。例如,unsigned int表示无符号整数。这些基本数据类型为C语言提供了灵活性和效率。
2023-10-15 15:32:07
520
1
原创 C现代方法(第1&2章)笔记——概述、基本概念
C语言是一种通用编程语言,由Dennis Ritchie在1972年开发。它以简洁、高效、可移植性强而闻名,广泛用于系统编程、嵌入式系统和应用程序开发。C语言具有强大的控制结构和广泛的标准库,适合开发各种类型的软件。
2023-10-10 21:03:13
382
原创 C现代方法(第5&6章)笔记——选择语句、循环
本文是作者阅读《C语言程序设计:现代方法(第2版·修订版)》时所做笔记,日后会持续更新后续章节笔记。欢迎各位大佬批评指正,希望对诸位有所帮助,Thank you very much!
2023-10-07 08:57:37
345
原创 C现代方法(第3&4章)笔记——格式化输入输出、表达式
本文是作者阅读《C语言程序设计:现代方法(第2版·修订版)》时所做笔记,也是第一篇书籍笔记文章,日后会推出后续章节笔记。欢迎各位兄弟姐妹阅读,大家一起学习,共同进步!
2023-09-16 09:29:45
734
原创 CSV文件与Python(基础)
CSV文件是一种常见的文本文件格式,全称为Comma-Separated Values(逗号分隔值)。它被广泛用于存储表格数据,如电子表格和数据库中的数据。
2023-06-27 01:33:20
837
原创 Docker介绍及其在WSL中的应用
Docker是一种开源的容器化平台,用于构建、交付和运行应用程序。它提供了一种轻量级的容器化技术,可以将应用程序及其依赖项打包成一个独立的可执行单元,称为Docker容器。每个容器都运行在一个隔离的环境中,共享主机操作系统的内核,从而实现了高效、可移植和可扩展的应用程序部署。以下是一些关键概念和组件,以帮助理解Docker的工作原理:Docker镜像(Image):Docker镜像是一个只读的模板,包含了运行应用程序所需的文件系统、代码、运行时环境、库和配置等。镜像可以被用来创建Docker容器。
2023-06-01 21:50:20
4169
原创 网络原理入门知识小结
OSI七层模型,从下至上分别为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。TCP/IP五层模型为物理层,数据链路层,网络层,传输层,应用层四层模型为网际接口层,网络层,传输层,应用层。
2023-06-01 17:06:31
666
原创 Git——利用SSH密钥本地仓库上传远程GitHub库
现在想要从本地设备将本地仓库上传到GitHub上需要用到SSH密钥,接下来讲解大致的步骤,本文默认读者已经掌握基本的Git知识。
2023-04-14 13:38:54
1542
原创 队列——C语言(链表)
用链表来写队列真的比数组简单得多,本人已经发了用数组实现队列的文章,欢迎大家阅览1.先写一个队列的接口(queue.h)/*一个队列模块的接口*/#include <stdlib.h>#define QUEUE_TYPE int /*队列元素的类型*//*** create_queue** 创建一个队列,参数为队列可以存储元素的最大数量** 这个函数只适用于动态分配数组的队列版本*/void create_queue(size_t size);/*** d
2022-05-21 23:12:32
727
原创 队列——C语言(动态数组)
接下来我将用malloc函数实现队列的动态数组版本提示:malloc函数是C语言中分配内存空间的函数1.首先,按照惯例,先写一个队列的接口(queue.h)/*一个队列模块的接口*/#include <stdlib.h>#define QUEUE_TYPE int /*队列元素的类型*//*** create_queue** 创建一个队列,参数为队列可以存储元素的最大数量** 这个函数只适用于动态分配数组的队列版本*/void create_queue(si
2022-05-21 22:59:53
465
原创 队列——C语言实现(静态数组)
队列是一种先进先出的数据结构下面将展示我用普通的静态数组实现的队列1.首先先写一个队列的接口(queue.h)/*一个队列模块的接口*/#include <stdlib.h>#define QUEUE_TYPE int /*队列元素的类型*//*** create_queue** 创建一个队列,参数为队列可以存储元素的最大数量** 这个函数只适用于动态分配数组的队列版本*/void create_queue(size_t size);/*** destroy_
2022-05-21 22:44:48
1147
原创 函数指针——C语言
int f(float, float);提问1:这个 f 是个什么东西?解析:在C语言中,这是声明了一个形参数据类型为(float, float),返回值类型为int的 f 函数。int *f(int, int);提问2:这个 f 又是什么东西?解析:在C语言中,这是声明了一个形参数据类型为(int, int),返回值类型为int型指针的 f 函数。int (*f)(int, int);提问3:这个 f 又是何方神圣?解析:别急,先从第一个括号开始分析,可以得出 f 是.
2022-05-11 20:19:44
554
原创 球与地下城——C语言游戏
游戏简介:这个游戏就是要让小球不断往下面探索,“A”左移,“D”右移。争取跳到方块上,如果小球碰到顶部或者没有踩到方块,游戏就会结束,随着时间推进,方块上升的速度会变快。游戏结束时会有结算画面,显示得分情况。提前准备:1.首先要安装好Visual Studio, EasyX图形库(可以去官网下载)2.VS要安装好C++模块3.创建C++空项目4.在头文件中新建fallball.h文件5.在源文件中新建fallball.cpp文件fallball.h如下所示:/***
2022-05-08 18:38:21
898
原创 双链表(插入&遍历)——C语言
所谓双链表,就是单链表的升级版,其中的结点,既有指向下一个结点的指针,又有指向前一个结点的指针。规定链表第一个结点的前指针为NULL,最后一个结点的尾指针为NULL。同时,双链表不仅有头指针,还有尾指针,头指针指向链表第一个结点,尾指针指向链表最后一个结点。因此,在有序双链表中插入新值时,要改变4个指针,首先考虑四种情况(空链表插入,链表头插入,链表中间插入,链表尾部插入)。遍历即可升序,也可降序。1.首先写一个定义双链表的接口(结点数据类型定义,函数声明)(dlink.h)/*** 定义一
2022-05-07 17:57:36
1759
1
原创 有序单链表插入——C语言
以下内容要求有一定指针和链表基础,请配合画图理解1.首先我们定义一个头文件(slink.h),用来声明链表的结点数据类型,以及相关函数/*** 定义一个有序单链表的操作接口*/#include <malloc.h> //动态分配内存声明文件#include <assert.h> //断言函数声明文件#include <stdio.h> //标准输入输出声明文件#define LINK_TYPE int //链表存储数据类型/*** 定义结点数
2022-05-07 06:00:00
3643
原创 躲避方块的球——C语言游戏
1.安装好Visual Studio, EasyX图形库。(都可以去官网下载)2.在VS中创建新的空项目(确保VS已经安装好C++模块)3.在头文件中新建touch.h文件。/*** "别碰方块"游戏对象相关数据(游戏窗口,小球,方块,得分)*/#pragma once#include <graphics.h>#include <conio.h>#include <stdio.h>#define WIDTH 1000 //窗口宽度#defi
2022-05-06 13:46:50
1403
原创 弹来弹去球——C语言
1.首先安装好Visual Studio, EasyX图形库。2.打开VS,创建C++空项目。3.在到项目源文件文件夹里添加新项(.cpp源文件),用来写程序(ball.cpp)/*** 实现一个弹来弹去的球*/#include <graphics.h>#include <conio.h>#include <stdio.h>#define WIDTH 600 // 窗口宽#define HEIGHT 600 // 窗口高#define RA
2022-05-05 15:48:16
849
原创 堆栈——C语言(链表)
想必你已经看完了我写的堆栈的数组版本,接下来,就好好看看链表怎么实现堆栈吧1.首先定义一个堆栈接口(stack.h)/*** 一个堆栈模块的接口*/#include <stddef.h>#define STACK_TYPE int /*堆栈所储存的类型*//*** push** 把一个新值压入堆栈中,它的参数是被压入的值。*/void push(STACK_TYPE value);/*** pop** 从堆栈中弹出一个值,并将之返回*/STACK_TY
2022-05-04 22:59:11
1058
原创 堆栈——C语言(动态数组)
首先请大家预知,在C语言中,一个数组的数组名是一个指针常量,它指向数组第一个元素,比如#include<stdio.h>int main(){ int a[3] = {1, 2, 3}; printf("a数组第1个元素:%d\n",*a); printf("a数组第2个元素:%d\n",*(a + 1)); printf("a数组第3个元素:%d\n",*(a + 2)); return 0;}控制台输出:a数组第1个元素:1a数
2022-05-04 22:30:19
1220
原创 堆栈——C语言实现(静态数组)
1.首先写一个堆栈接口(stack.h),在里面声明堆栈操作函数并定义堆栈存储数据类型。/*** 一个堆栈模块的接口*/#define STACK_TYPE int /*堆栈所储存的类型*//*** push** 把一个新值压入堆栈中,它的参数是被压入的值。*/void push(STACK_TYPE value);/*** pop** 从堆栈中弹出一个值,并将之返回*/STACK_TYPE pop(void);/*** top** 返回堆栈顶部元素的值,但不对
2022-05-04 21:55:12
917
原创 双向排序——蓝桥python
实现代码:n, m = map(int, input().split())work = []num = [i for i in range(1, n + 1)]for i in range(m): work.append(list(map(int, input().split())))for i in range(m): p = work[i][0] q = work[i][1] if p == 0 and (q in num): num1...
2022-04-08 21:03:52
843
原创 词云——python实现
1.词云介绍“词云”拼音是cí yún,由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于2006年最先使用。戈登做过编辑、记者,曾担任迈阿密先驱报(Miami Herald)新媒体版的主任。他一直很关注网络内容发布的最新形式——即那些只有互联网可以采用而报纸、广播、电视等其它媒体都望尘莫及的传播方式。通常,这些最新的、最适合网络的传播方式,也是最好的传播方式。 因此,“词云”就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。
2022-04-07 22:07:27
1151
原创 最长公共子序列(LCS)——python回溯
输入:第一行:字符串w1第二行:字符串w2w1和w2长度小于等于1000输出:输出最长的子序列和它的长度w1 = "" # 矩阵行,有len(w1)行w2 = "" # 矩阵列,有len(w2)列a = [] # 存放一种子序列(w1,w2相同字符在w2中的索引)A = [] # 存放所有的子序列best_a = [] # 存放最长的子序列best_len_a = 0 # 最长子序列的长度# 冲突检测def conflict(k): global w1, w
2022-04-06 22:52:18
1313
原创 基本数据统计——python
计算一组数据的平均值,方差和中位数。def getNum(): nums = [] iNumStr = input("请输入数字(回车退出):") while iNumStr !="": nums.append(eval(iNumStr)) iNumStr = input("请输入数字(回车退出):") return numsdef mean(numbers): s = 0.0 for num in numbers:
2022-04-05 23:05:40
544
原创 身体质量指数BMI——python
1.BMI简介身体质量指数,是BMI(Body Mass Index)指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。计算公式为:BMI=体重÷身高²。(体重单位:千克;身高单位:米。)BMI由19世纪中期的比利时通才凯特勒最先提出。2.代码实现height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))bmi = weight / pow(height , 2)print("BMI数值为:{:.2f}".fo
2022-04-04 20:43:22
30100
6
原创 八皇后——经典回溯(python)
八皇后问题(Eight queens),是由国际象棋棋手马克斯·贝瑟尔于1848年提出的问题,是回溯算法的典型案例。问题描述:在8×8格的国际象棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用的图论方法解出92种结果。如果经过±90度、±180度旋转,和对角线对称变换的摆法看成一类,共有42类。实现代码(忽略旋转&对称):import
2022-04-03 15:29:03
1867
原创 Numpy矩阵运算——python
使用Numpy模块中的内置方法实现矩阵相乘、逆序、转置和求和处理。import numpy as npif __name__ == "__main__": # 矩阵相乘 mat1 = np.mat([ [1, 3] ]) # 一行两列 mat2 = np.mat([ [2], [4] ]) # 两行一列 mat3 = mat1 * mat2 print(mat3) # 矩阵求逆 mat4 = np.mat([ [1, 0, 1], [0,
2022-04-02 20:23:25
1415
原创 爬楼梯——回溯(python)
1.回溯简介回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。用回溯算法解决问题的一般步骤:1、 针对所给问题,定义问题的解空间,它至少包
2022-04-01 16:23:35
455
原创 矩阵转置——C
矩阵转置代码实现:#include<stdio.h>#include<stdlib.h>void exchange();int a[3][3],*p,i,j;int main(){ for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } exchange(); for(p=a[0];p<a[0]+9;p++) { if((p-a[0])%3==0)
2022-03-31 21:05:33
158
原创 快速排序——C++
1.提出问题快速排序某个列表中的元素,按照从小到大的顺序进行排列。2.算法分析基于分治算法策略,设定一个基准线(pivot),将数据与基准线对比,分成大于和小于部分,把小于基准数的元素放到左边,把大于基准数的元素放到右边,通过递归操作,不断通过分治算法实现排序,不断拆分,直到将序列拆到只剩一个或者零个元素的时候排列结束。3.实现代码#include <iostream>template <typename T>void quick_sort(T* s, in
2022-03-30 21:50:17
965
原创 霍兰德人格分析雷达图——python实现
1.霍兰德职业兴趣理论约翰·霍兰德(John Holland)是美国约翰·霍普金斯大学心理学教授,美国著名的职业指导专家。他于1959年提出了具有广泛社会影响的职业兴趣理论。认为人的人格类型、兴趣与职业密切相关,兴趣是人们活动的巨大动力,凡是具有职业兴趣的职业,都可以提高人们的积极性,促使人们积极地、愉快地从事该职业,且职业兴趣与人格之间存在很高的相关性。Holland认为人格可分为现实型、研究型、艺术型、社会型、企业型和常规型六种类型。2.实现代码#HollandRadarDrawimpo
2022-03-29 20:32:26
3297
3
原创 玫瑰花——python
利用python海龟画图模块,绘制一朵玫瑰花import turtle as t# 定义一个曲线绘制函数def DegreeCurve(n, r, d=1): for i in range(n): t.left(d) t.circle(r, abs(d))# 初始位置设定s = 0.2 # sizet.setup(450*5*s, 750*5*s)t.pencolor("black")t.fillcolor("red")t.speed(100)
2022-03-27 18:45:56
171
原创 打印当前日期——python实现
1.简介用python的turtle库实现打印当前日期import turtle as timport time def drawGap(): t.penup() t.fd(5)def drawLine(draw): drawGap() t.pendown() if draw else t.penup() t.fd(40) drawGap() t.right(90)def drawDigit(digit): drawLine(
2022-03-26 21:27:10
1227
原创 科赫雪花——python画图
1.什么是科赫雪花科赫曲线是一种分形。其形态似雪花,又称科赫雪花、雪花曲线。科赫曲线是出现在海里格·冯·科赫的论文中,是分形曲线中的一种。科赫雪花是以等边三角形三边生成的科赫曲线组成的。每条科赫曲线的长度是无限大,它是连续而无处可微的曲线。画法:1、任意画一个正三角形,并把每一边三等分;2、取三等分后的一边中间一段为边向外作正三角形,并把这“中间一段”擦掉;3、重复上述两步,画出更小的三角形。4、一直重复,直到无穷,所画出的曲线叫做科赫曲线。2.代码实现import
2022-03-25 20:56:45
1013
简单射击游戏——飞机大战的python实现
2022-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅