自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (2)
  • 收藏
  • 关注

原创 《啊哈算法》学习笔记(三)——最短路径

最短路径问题这是整本书学得我最痛苦的地方…而最后一章“其他算法”中有些代码已经看不明白了,也先搁置,以后系统学习数据结构和算法时再涉及。下面一起来看看几个精彩的最短路径算法。Floyd-Warshall——多源最短路径问题如下:根据题意要求任意两个城市之间的最短路径,我们称这类问题为“多源最短路径问题”。解决这类问题的弗洛伊德算法在初看时给我留下了深刻的印象,因为它的核心代码仅仅四行。for (z = 1; z <= n; z++) for (i = 1; i &lt

2022-04-22 01:21:12 1038

原创 《啊哈算法》学习笔记(二)——搜索与图的遍历

搜索与图的遍历《啊哈算法》在“搜索”前还有两个章节,讲了数据结构中的栈、队列和链表以及枚举算法。这些内容比较浅显,只是简单介绍,这里就不记录了,后续自学数据结构时会提到。这篇把搜索和图的遍历放在一起。dfs——深度优先搜索#include <stdio.h>int a[20][20];//用来存储地图,0为路,1为障碍int book[20][20];//记录某点是否已走过(在路径上)int min = 999, way, top;int n, m;int end_x, end

2022-04-21 20:02:35 1165

原创 对信息断舍离进行时——一段自我反省

对信息断舍离进行时前些日子里我发现自己每天都在学,但是总感觉时间不够用,进度推不上去。我想也许是社交软件和视频网站浏览得太多了?于是乎我给手机和平板设置了使用时长限制,手机社交软件每日只能使用半小时,平板看哔哩哔哩只能看半小时。第一天实验就感到很诧异,自己连早上都还没有过,手机就提示半小时已经使用完了,而平板的视频限制也在午饭后稍微看一会就达到了。我发现时间在这些零散碎片化的信息冲击下,流逝得无声无息。我开始思考,对网络中提到“我们正处在一个信息爆炸的时代”的观点有了更多一点的认识。在我缓慢地敲下这些

2022-04-21 16:19:34 245 1

原创 《啊哈算法》学习笔记(C语言)(一)——排序

《啊哈!算法》学习笔记(一)——排序开头后续的几篇博客是对看完《啊哈算法》后的一个复习整理,书中对各类算法有一个思想和基本代码框架的介绍,对于算法们进一步的应用,相关的题目没有涉及。博客内容比较浅显。后续深入学习的,另会涉及题目简易桶排序#include <stdio.h>int main(){ int a[1000] = {0}; int t, i, j; int n; scanf("%d", &n); //输入有多少个数需要排序

2022-04-20 16:39:25 1168

原创 荷兰国旗问题(C语言)

荷兰国旗问题简化版荷兰国旗问题给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组的右边。要求额外空间复杂度O(1),时间复杂度O(N)。void swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}void process(int *a[], int num){ int i = 0; int p1 = -1; while (i <

2022-04-20 09:44:15 1619

原创 “数组指针”+函数参数的学习笔记

“数组指针”与参数的学习笔记数组在传参的过程中,可以写成数组也可以是指针void test2(int *arr[20]){}void test3(int **arr){}int main(){ int *arr[20]; test(arr);}//这两个void都是没有问题的因为arr是一个指针数组,数组名是arr,元素是一级指针(int)数组名的默认含义是第一个元素的地址,即第一个一级指针的地址对于test2来说,你实参是一个指针数组,我形参形式对应也是一个指针数组。为数组参数对于

2022-03-10 14:51:11 287

原创 “数组指针”学习笔记

数组指针学习笔记指针小知识指针的大小在不同的平台上占用不一样,32位平台占4字节,64位占8字节。char *p="abcdef";这里并不能解释为将这个字符串放进p这个指针变量里面,因为这个字符串包括\0一共是7个字节,而在32位平台里指针只能存放4个字节。正确解释是这是个常量字符串,只是把a的地址赋给了p, 可以用以下来验证:printf("%c",p);而printf(“%s”,p)指的是从p记录的地址处开始打印一个字符串。至于什么时候打印结束,因为这个常量字符串后面会放一个\0,

2022-03-10 11:21:27 255

原创 归并排序+Master公式+小和问题

归并排序+Master公式+小和问题归并排序先来谈谈代码很巧妙的一种排序,归并排序。什么是归并排序?我喜欢先进行字面上的理解,先归纳整理好,再并在一起排序。比如有一个乱序的数组,在底下标上角标:我们将这个数组一分为二,分别将左右两侧的数排序好。然后开辟出一个临时的空间(数组)来存放我们最后排好序的元素。接着,我们分别用指针p1,p2指向左右两边的第一个数,如下:现在,比较两个指针指向的数,如果p1<=p2,将p1放进临时空间里,并将p1向右移一位。随后,我们进行第二轮比较,即左边的2和

2022-03-07 20:21:17 152

原创 异或(^)的含义与基本用法

异或(^)的含义与基本用法异或的含义​ 异或(^)和与运算(&)、或运算(|)都是位运算,因为计算机的运算都是将数据转换成二进制来进行的,所以一般来说,位运算比加减乘除的算数运算快得多。异或的运算法则如下:1 ^ 0 == 11 ^ 1 == 00 ^ 0 == 0即相同为0,不同为1。异或的运算性质​ 异或有几大运算性质:交换律: ab==ba结合律: aba==aab任何非0的数和0异或的结果都是它本身任何数和自己本身异或的结果都为0如果你看到这里,感

2022-03-05 07:16:58 13154 1

原创 使用mciSendString()函数的相关问题

使用mciSendString()函数的相关问题函数功能mciSendString() 函数可以将它看做是一个API指令的合集,用于播放一些多媒体文件,可以是音乐、视频。那么什么是API指令? 通俗地解释,就是一些设计包装好的功能函数。比如常见的abs函数(用于得到一个式子的绝对值)、fopen、fread等,能够对文件进行相应的操作。而mciSendString也有它独有的功能。我们可以使用它,在你的程序中播放音乐。函数用法函数原型MCIERROR mciSendString( LPCT

2022-02-27 22:19:53 8534 11

原创 890行学生成绩管理系统代码(C语言大作业),分模块讲解各种功能

学生成绩管理系统(C语言大作业)的各项功能说明讲解

2021-12-06 21:48:46 2011 1

原创 890行。设计最强最全学生成绩管理系统(C语言大作业)(文后附解析说明的博客)

890行!——最强最全的学生成绩管理系统!配套各种功能的实现说明及知识补充。 并再说明一下,大学进入期末月啦,笔者得专心复习,所以这个月更完这两期就不更了,等放寒假以后再和大家分享。 话不多说,进入正题,相信很多计算机专业的同学在这临近期末的时候,都遇见了类似的计算机大作业——设计信息系统。笔者专业布置的大作业具体要求如下: 不同学校的要求不尽相同,这里分享的是笔者的设计思想。 当然,如上要求对于不同的人来说难易感受也...

2021-12-05 14:52:02 1105 2

原创 简单的递归思想: gcd(最大公因数)+hanoi(汉诺塔)+quicksort(快排)

上次博客本是说这周分享算法的,后来还是想先分享一下递归思想。递归在我们编程学习中可谓是无处不在,因为计算机的所有运算其实拆分开来都是递归。比如1+2的运算,可以拆成1+(1+1),同理,所有的加减乘除都可以拆成1+1的式子。这就是递归。给一个拆分的路径,不断地将一个式子递归拆分成一个个小式子,化繁为简。下面我们用三个经典递归(gcd,hanoi,quicksort)来走进这种思想。...

2021-11-21 22:24:18 5371

原创 “字符串+数组”类题目的知识盲区照明和解题技巧讲解(下):两种解题思路的分析

首先,我们回到上一篇博客的一句话:让我们再次恭喜EDG,(我成预言家了哈哈哈!)EDG牛逼,我们是冠军! (老激动了7号凌晨,777777777!)好了好了,言归正传,今天笔者来分享一下有关字符串数组的题目的解题思路与技巧。我们一起用4道题目来分析得出一些对大家有帮助的结论。一、换角度思考“删除字符”我们来看第一道题要求输入一个字符串加一个字符,需要实现将字符串中的这个指定字符删去,再打印删改完的字符串。不论什么思路,实现的第一步都是先完成输入,细心的同学一定...

2021-11-14 20:04:13 479 4

原创 “字符串+数组”类题目的知识盲区照明和解题技巧讲解(上):字符字符串的输入问题与相关函数的运用技巧

相信有许多人,在初学C语言进入数组一章时,会感到题目骤然变难,常常摸不着头脑,感觉一些知识似学非学,想要代码实现就更棘手了。其实这很“情有可原”。一般学校的教材在讲数组时,不仅仅只讲整形数组,同时还讲字符串数组。不仅仅只是一维数组,还有多维数组。“整形”与“一维”还是比较好理解,但“字符串”加“多维”就难倒许多同学了。一是字符串的相关知识对大部分初学者来说相对陌生,二来要想掌握二维数组,首先对使用一维就要有很高的熟练度,可是这章的知识又仿佛一口气全说了出来,没有给新手的我们一个友好的喘息时间。..

2021-11-05 17:21:12 364 2

原创 PTA L1-002 打印沙漏与打印杨辉三角的思路与题解

在讲上一期我们留下的《终极·沙漏》问题之前,笔者再补充一些关于打印纯数字三角形的内容。数字也是字符,但纯数字三角形可以不是单一的数字组成的图案,而是不同的数字之间以某种规律存在的集合。杨辉三角就是最典型的例子。https://www.nowcoder.com/practice/804a22929b844e6b9379a5e90b5e2197?tpId=107&&tqId=33356&rp=1&ru=/ta/beginner-programmers&qru=/ta/

2021-10-28 22:21:58 1429

原创 清晰思路带你掌握如何运用循环打印各种图案(新手向)

当我们进入循环语句的学习后,免不了遇见打印各种图案的题目。星号三角形,平行四边形,符号金字塔,沙漏......其实发现每一行符号之间表面的规律并不困难,但其中隐藏的联系与具体如何去实现,却会让很多不能灵活运用循环语句的同学难以入手。这周就请和笔者一起,以清晰的思路,由易到难,深入浅出的探究循环打印图案的奥秘。 一、简单介绍三种循环语句及使用时的注意事项(已学会的可跳过) 我们以一个“请分行打印5次‘1024快乐!祝你永不脱发!’”的任务来引出它们。1、do语句。#include...

2021-10-24 21:05:08 5884 11

原创 VS 2019的新手指引教程(敲代码前的调试工作及使用技巧)(简单易懂)

编程入门的我们,被“有一个软件可以自动对齐代码”的传闻所吸引,将上课配套使用的vc 6.0和Dev-c放在一边,下载了VS2019(Visual Studio 2019),但是下载好之后,发现界面

2021-10-17 13:59:07 15363 6

空空如也

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

TA关注的人

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