自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 区块链基础知识01

每十分钟左右,挖矿者会将这些交易收集到一个新区块中,再将这些新区块永久添加到区块链中,该区块链就像比特币的最终账簿。区块链即是服务:区块链即服务 (BaaS) 是第三方在云上提供的一种托管式区块链服务。数据在时间上是一致的,在没有网络共识的情况下,不能删除或修改链条。即:首尾相连的数据结构,区块头中存放着前一个区块头的哈希值和当前区块交易信息的哈希值,这个结构决定了他的不可篡改性。区块链协议:可用于应用程序开发的不同类型的区块链平台。比特币:比特币是区块链的一种应用,一种去中心化控制的数字货币,

2024-03-07 22:04:48 549

原创 算法笔记 -搜索专题:深度优先搜索 (递归)01 背包问题

解题代码(递归)易理解:#include<cstdlib>#include<cstdio>const int maxn = 30;int n, V, maxValue = 0; //物品件数 背包容量 物品价值int weight[maxn], value[maxn];//每件物品的重量以及价值void DFS(int index, int sumWeight, int sumValue) { //已经完成对n件物品的选择 死胡同: if (index

2021-04-17 14:56:32 389

原创 Vscode C++ 日常使用以及问题处理(自用勿点)

格式化代码:Alt + Shift +F(Ctrl + K, Ctrl + F)删除行代码:Ctrl + Shift + K移动行代码:Alt + 方向键命令面板:F1 或者 Ctrl + Shift + P多光标:按住Alt + 点击多光标修改:Ctrl + K (跳过当前选中的)Ctrl + D迅速打开文件:Ctrl + P运行代码 :F5 F6Ctrl + 光标停留 :找到变量的定义位置Shift + F12 可以实现快速预览,看函数或者是类在哪里被使用了关于VSc

2021-04-16 15:35:38 371 1

原创 算法笔记-第四章:PAT A1025 Ranking[参考代码]

#include<cstdlib>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef struct Student{ char id[15]; int score; int location_number;//考场序号 int local_rank;//考场内的排名}Student;//sort函数作为参数

2021-04-16 11:23:03 182

原创 十大基本排序算法整理(3/10)

//三种基本排序算法void BubbleSort(int arr[], int len) { for (int i = 0; i < len-1; ++i) { for (int j = 0; j < len-i-1; j++ ) { if (arr[j] > arr[j+1]) { //确保每个元素都能被取到 arr[j] = arr[j]^arr[

2021-04-15 21:59:58 132

原创 算法笔记--第四章:散列与整数散列代码思想

#include<cstdio>#include<cstdlib>const int maxn = 100010;bool hashTable[maxn] = {false};//统计是否出现过int hashTable01[maxn] = {0};//统计出现的次数int main() { int N, M, X; scanf("%d%d",&N,&M); for (int i = 0; i < N; ++i) {

2021-04-15 15:29:53 58

原创 算法笔记—第三章入门模拟:PATB1009 说反话

C++代码:#include<cstdio>#include<cstring>#include<cstdlib>/* - 输入字符串存放在str一维数组中, - 开辟二维数组ans[][] 分别存放每个单词和相应的字母个数 (末尾记得加入‘\0’) - 计算出长度行和列 以空格作为单词之间的界限 gets 不接收回车 以回车作为结束符的标志 getline(cin,string )接收回车,以回车作为结束标志 c

2021-04-15 14:54:42 90

原创 算法笔记-第三章 PATB1022 D进制的A+B

/*PAT B1022思考 - 先计算A+B的和sum,再用除基取余法转换为进制数输出 - 先对求和的数,用要转换的进制数取余并存入数组,再对其要转换的进制数相除取商 - 逆序输出数组 */#include<cstdio>#include<cstdlib>#include<cstring>int main() { int a, b, k; scanf("%d%d%d", &a, &b, &k); int.

2021-04-15 09:34:18 71

原创 算法笔记--第三章入门模拟 :1928 日期差值

知识点总结平年与闰年关于while-scanf: 题目没给定输入量的边界 ,使用文件末尾标识符EOF判断Ctrl +Z打断输入/*1928 日期差值思考: - 假设第一个日期早于第二个日期(否则交换) - 令日期不断加1,直到与第二个日期相等为止,即可得出答案。 - 具体步骤: - 当加了一天后天数d等于当前月份m所拥有的天数加1,即令m+1、同时置天数d为1号(即把日期变为下一个月的1号) - 如果此时月份m变为了13,就令年份y加1、同置月份m为1月(即把日期变为下一年.

2021-04-15 08:05:56 86

原创 蓝桥杯 ——Java 01位运算 找出只出现1次的数(利用K进制加法)

原理:k位k进制的数相加结果为0package _01Xor;import java.security.KeyRep;import java.util.Scanner;public class _06出现k次 { public static void main(String[] args) { //思路:开辟二维数组空间, 输入数组 和 N 将数组中的数值依次转化成K进制数, 反向填入字符数组,求出其中第二维度的长度// 建立一个一维数组将 k进制的数加入

2021-04-11 21:13:32 120

原创 PTA题目复习 6-1 单链表逆转 (2020/12/24)

PTA题目复习 6-1 单链表逆转 (知识点总结)本题要求实现一个函数,将给定的单链表逆转。函数接口定义:List Reverse( List L );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /* 定义单链表类

2020-12-24 11:07:05 653

原创 PTA复习 习题 3.12 另类循环队列 (知识点复习)

PTA复习 习题 3.12 另类循环队列 (知识点复习)如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。函数接口定义:bool AddQ( Queue Q, ElementType X );ElementType DeleteQ( Queue Q );其中Queue结构定义如下:typedef int Position;typedef struct QNode *PtrToQNode;

2020-12-24 09:11:01 1137

原创 关于typedef和struct使用过程中的一些思考(2020/12/23更新)

关于typedef和struct使用过程中的一些思考以下内容所记录的内容是自己在编写ADT工具类时遇到的问题,做出一些记录,好记性不如烂笔头以下内容如有错误的地方还望不吝赐教1、C与C++中关于typedef和struct的使用辨析:题目案例1:C中定义结构体类型(简洁版 少写了类名)typedef struct { ···}Sqlist, Linklist, SqStack;注意:需要说明的是 在此处 Sqlist, Linklist, SqStack都是同一种数据类型,

2020-12-23 17:49:40 828

原创 PTA复习 习题3.13 双端队列

PTA复习 习题3.13 双端队列双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作:Push(X,D):将元素X插入到双端队列D的头;Pop(D):删除双端队列D的头元素,并返回;Inject(X,D):将元素X插入到双端队列D的尾部;Eject(D):删除双端队列D的尾部元素,并返回。函数接口定义:bool Push( Element

2020-12-23 16:20:12 360 2

原创 PTA复习 6-7 在一个数组中实现两个堆栈(2020/12/23更新)

PTA复习 6-7 在一个数组中实现两个堆栈本题要求在一个数组中实现两个堆栈函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下:typedef int Position;struct SNode { Ele

2020-12-22 10:30:39 982

原创 PTA复习 6-4 链式表的按序号查找

PTA复习 6-4 链式表的按序号查找本题要求实现一个函数,找到并返回链式表的第K个元素。函数接口定义:ElementType FindKth( List L, int K );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L是给定单链表,函数FindKth要返回链式表

2020-12-21 09:51:38 230

原创 PTA 复习 6-5 链式表操作集 (不带表头)

PTA 复习 6-5 链式表操作集 (不带表头)本题要求实现不带表头链式表的操作集函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { Elemen

2020-12-21 09:12:49 172 1

原创 PTA 复习 6-6 带头结点的链式表操作集 (知识点总结)

PTA 复习 6-6 带头结点的链式表操作集本题要求实现带头结点的链式表操作集。文章目录PTA 复习 6-6 带头结点的链式表操作集本题要求实现带头结点的链式表操作集。函数接口定义:裁判测试程序样例:输入样例:输出样例:解题代码:一、细节分析:二、知识点总结:1、有表头和没有表头的的区别:链表的基础知识:需要注意的情况:带有头结点遍历输出数据时`while (Head->Next != NULL)`不带有头结点的链表输出数据时`while (Head != NULL)`2

2020-12-19 20:10:41 639 2

原创 PTA复习 6-2 顺序表操作集 (知识点复习 易错提醒)

PTA复习 6-2 顺序表操作集 (知识点复习 易错提醒)文章目录PTA复习 6-2 顺序表操作集 (知识点复习 易错提醒)@[toc]函数接口定义:裁判测试程序样例:输入样例:输出样例:解题代码:注意事项:1、遍历线性表时出现的问题:数组元素下标法:指针法:问题代码:for语句的最后一栏最好只用来放增减条件,注意题目中的要求,还要在没有找到的时候返回`ERROR`2、子函数的生命周期(线性表的创建)为什么一定要动态开辟结构体?3、指针的运算四、总结回顾知识点:1、结构体名与首地址的关系

2020-12-17 19:42:04 457

原创 二、Git基础(2020.12.1第二次更新)

本章任务:能够配置一个单独的仓库(repository)开始或者停止追踪文件(track)暂存或者提交更改(stage)(commit)如何迅速而简单地撤销错误操作如何浏览你的项目的历史版本以及不同提交(commits)之间的差异如何向你的远程仓库推送(push)以及如何从你的远程仓库拉取(pull)文件2.1 获取Git仓库2.1.1 获取Git仓库的基本方式:将本地未进行版本控制的文件夹转化为Git仓库从其它服务器 克隆 clone一个已存在的 Git ..

2020-11-30 21:16:46 113

原创 关于使用Github Desktop 从Github克隆项目到本地失败的其他几类情况分析

1、 从github克隆失败的原因,克隆位置是要在本地文件的.git文件夹下,克隆到其他位置时由于没有配置git仓库,所以会出现配置失败的情况先建立一个git本地文件,此时可以使用git bash直接从命令行克隆仓库,然后在本地文件夹中使用第三方工具查看内容,也可以使用github desktop 直接从其他人的仓库中复制http链接,在github desktop中展开2、网速过慢导致的克隆失败使用第三方镜像网站,暂时未找到可靠的,不建议使用修改刷新DNS的方法,可能会影响正常的pull和push或

2020-11-30 17:52:53 2471

原创 Git Book 笔记 (Git版本控制工具)- 前序内容(2020. 11.29 第三次更新)

一、概论1.1 关于版本控制:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。主要技术是基于简单的数据库对文件的内容历史版本的历次更新差异进行对比本地控制系统:其中最流行的一种是RCS,利用硬盘上面保存的补丁(文件修订前后的变化)通过应用内的补丁来计算各个版本的内容集中版本控制系统:(图书馆)集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生。 这类系统,诸如 CVS、Subvers

2020-11-29 19:58:09 142

原创 Vs code C++配置 使用终端实现输入输出 (2020年10月更新)自用备份

Vs code C++配置 使用终端实现输入输出 (2020年10月更新)launch.json文件{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=8303

2020-10-28 21:11:29 3740 2

原创 数据结构—二叉树笔记(未完)

文章目录@[toc]二叉树笔记一、基本概念(一)定理结论:(二)题目总结:(三)二叉树代码函数代码:主体代码:(四)二叉树的应用与拓展1、有二叉树的前、后序与中序序列得到二叉树的前序序列2、二叉树与表达式的应用3、二叉树的非递归中序遍历4、线索二叉树5、由遍历序列还原二叉树(四)遇到的问题1、二叉树创建时不采用引用传递会出现什么情况?相应节点该如何销毁?输入各节点的边该如何创建?2、根节点无法递归,无法实现递归的原因是什么?树和森林笔记二叉树笔记一、基本概念(一)定理结论:二叉树中的节点数 =

2020-10-09 10:05:31 695 1

原创 6-3 删除单链表中最后一个与给定值相等的结点

6-3 删除单链表中最后一个与给定值相等的结点 (10分)本题要求在链表中删除最后一个数据域取值为x的节点。L是一个带头结点的单链表,函数ListLocateAndDel_L(LinkList L, ElemType x)要求在链表中查找最后一个数据域取值为x的节点并将其删除。例如,原单链表各个节点的数据域依次为1 3 1 4 3 5,则ListLocateAndDel_L(L,3)执行后,链表中剩余各个节点的数据域取值依次为1 3 1 4 5。函数接口定义:void ListLocateAndDel

2020-09-27 21:13:56 944

原创 两个有序链表序列的合并

7-1 两个有序链表序列的合并 (20分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10注意事项:注意链表创建

2020-09-27 21:09:59 307

原创 带头结点的单链表就地逆置

6-1 带头结点的单链表就地逆置 (9分)本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数。L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置,如原单链表元素依次为1,2,3,4,则逆置后为4,3,2,1。函数接口定义:void ListReverse_L(LinkList &L);其中 L 是一个带头结点的单链表。裁判测试程序样例://库函数头文件包含#include<stdi

2020-09-27 20:27:09 2691

原创 6-2 单链表元素定位 (12分)

6-2 单链表元素定位 (12分)本题要求在链表中查找第一个数据域取值为x的节点,返回节点的位序。L是一个带头结点的单链表,函数ListLocate_L(LinkList L, ElemType x)要求在链表中查找第一个数据域取值为x的节点,返回其位序(从1开始),查找不到则返回0。例如,原单链表各个元素节点的元素依次为1,2,3,4,则ListLocate_L(L, 1)返回1,ListLocate_L(L, 3)返回3,而ListLocate_L(L, 100)返回0。函数接口定义:int Li

2020-09-21 16:23:36 478

原创 C语言复习笔记: PTA题集整理

C语言复习笔记: PTA题集整理文章目录C语言复习笔记: PTA题集整理@[toc]C语言取模运算及辗转相除法易错内容:将/运算符当作%使用解答代码:算法实现1:算法实现2求出大于m的最小素数:PTA题集输入格式:输出格式:输入样例:输出样例:代码解答:课堂代码:存在问题 14 输出15改进后的代码:相似内容:遍历元素 并 输出或者返回数值 找素数7-3 求幂级数展开的部分和 (20分)输入格式:输出格式:输入样例:输出样例:需要注意的地方:代码内容解答代码1:修改后的代码:最佳情侣

2020-06-30 18:46:47 2624 1

原创 C语言期末考试内容(2)选择填空答案整理(基础章节内容附解析)

C语言期末考试内容(2)选择填空答案整理(基础章节内容)文章目录C语言期末考试内容(2)选择填空答案整理(基础章节内容)作业二:变量定义/读/写与数据的存储表示一、判断题:答案: F F F F解析:1-4:C语言中的结束符是以分号来结束的,一个分号就代表一条语句。二、单选题:答案:ADCBAC三、填空题:答案:4-4作业3--运算符表达式与简单C程序一、判断题:答案:F T F F二、单选题:答案:CCDCA DBBAD AAAAB DCBDC解析:2-5 5>3>1 运算符==

2020-06-30 18:19:22 1043 1

原创 C语言期末考试内容(1)主观题

C语言期末考试内容(1)主观题文章目录C语言期末考试内容(1)主观题题目一:输入一个整型数组求平均值思路:输入一个整数n,然后再定义一个长度为n的数组,再利用for循环对数组元素的值进行输入,(输入的同时可以同时对数组元素求和),最后计算平均值。需要注意的事项:对求和之后的元素出现整除的现象 (比如15/2=7),如何避免?方法一:直接定义sum为double型方法二:仍然定义sum为int型,在最后结果输出时 ==sum*1.0/n==或者进行 ==(double )sum /n==强制类型转换

2020-06-30 18:09:48 1322 1

原创 关于空指针做函数参数和多级指针的使用问题

引入: 在主函数中只是定义了一个空指针p,如何才能通过子函数的调用来完成修改p的内容示例代码1:#include<stdio.h>#include<stdlib.h>// 因为刚开始p什么都没有指向(但是p是占有一片内存空间的,只是其中的内容为NULL),所以直接把p的内容传进子函数赋值是没有意义的,相当于在子函数中改变了指向了一片新的存储空间,修改的是新的存储空间的内容,主函数中p指向的内容并没有改变(相当于有创建了一个指针修改了不相关内存的内容)// 解决方法之一是.

2020-06-25 15:18:55 706 1

原创 简单排序:选择、插入、冒泡等及其递归实现

三种简单排序:选择、插入、冒泡及其递归实现需要改进的地方:如果对于于C语言数组元素从1开始的排序情况 空出0号元素 及其与排序n号长度的对比未完待续 代码如下可参考:测试主函数#include <stdio.h>void fun(int a[], int n);int main(){ int i,a[10],n; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i

2020-06-24 11:01:05 313

原创 8-1 排序的递归函数设计 (20分)

从语法角度看,递归是指函数自己调用自己的现象。递归还可以看作一种复杂问题的求解策略,对复杂问题只需给出递归边界和递归关系,由此构造递归函数即可完成求解。本题要求以数组元素排序问题为例,尝试用递归的思想设计一个用于由小到大排序的递归函数。具体来说。假设存在一个10个元素组成的一维整型数组,主函数中完成数组的输入、排序函数的调用以及排序结果的输出。要求同学们基于递归的策略自己设计一个排序函数,实现数组元素由小到大的排序,给出问题分析的过程、思路描述以及递归函数的代码。====================

2020-06-24 10:44:16 298

原创 7-1 大小写字母转换 (15分)

输入一行字符,以回车符 '\n' 结束,将其中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。输入格式:输入一行字符,以回车符 '\n' 结束。输出格式:将输入字符串中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。输入样例:Reold 123?输出样例:rEOLD 123?解答代码1 gets/puts :#include<stdio.h>#def...

2020-06-23 17:26:53 4359

原创 关于自用编译器出现问题的解决方案 自用勿点

关于sublimetext中编译C语言会出现的问题解决办法// D:/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/8.1.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot open output file ceshi_2.exe: Permission denied// collect2.exe: error: ld returned 1 exit status// [Finished in 0.4s]权限无法访问的

2020-06-20 10:38:13 2429

转载 编写有多个返回值的C语言函数

1引言    笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数。编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我们都有可能会遇到这样的问题。有学生也尝试了不少方法:如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值;或者把需要返回多个值的一个函数分开几个函数去实现多个值的返回。这些方法虽然最终都能实现返回要求的多个值,但从程序算法的合理性与最优化方面去考虑,显然不

2020-06-18 21:15:57 220

原创 C语言复习笔记 :6-1 建立学生信息链表(无表头,链表基础,指向)

6-1 建立学生信息链表(无表头,链表基础,指向)2020.06.18 第一次修改如何将输入的数据组织成一张链表待解决问题:C/C++中,多个指针指向同一个内存,只能free一次当地址被释放以后,其他指针都要置为NULL,否则很容易出现野指针异常的文章目录**6-1** **建立学生信息链表**(无表头,链表基础,指向)如何将输入的数据组织成一张链表函数接口定义:裁判测试程序样例:输入样例:输出样例:分析:解题思路:每次输入一组数据就利用动态存储分配函数建立一块存储空间,直到遇到0就

2020-06-18 19:22:55 1089 1

原创 C语言复习笔记:7-1 数组中插入一个数(插入法思想,数组越界)

在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列,已知升序数组{1, 2, 4, 6, 8, 9, 12, 15, 149, 156 }。输入格式:直接输入一个整数,没有其它任何附加字符。。输出格式:输出插入元素后的升序数列,每个数输出占5列。输入样例:5输出样例: 1 2 4 5 6 8 9 12 15 149 156解答代码1:存在问题要对x在a[0]位置时额外分析,因为此时会出现将前面一个值a[-1]数值后移

2020-06-18 16:51:51 2608

转载 scanf函数和回车、空格 及其返回值

scanf和回车的关系:先看一个我们经常使用的代码:    char c;  scanf("%c", &c);  scanf 的各种格式中,%d、%c、%s三种最常用,通常都是以回车作为一次输入的结束。由于对字符解析方式及字符特点不同(如数字中一般不会出现空格回车等特殊字符)不同,%d格式一般不会在连续输入时,遇到问题。而%s和%c却会出现各种各样的问题,比如回车问题,空格问题等。我们已经习惯了上面的代码,再看下面存在连续输入时的情况:  int i;  char c;  scan

2020-06-15 20:33:43 4628

空空如也

空空如也

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

TA关注的人

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