- 博客(42)
- 收藏
- 关注
原创 二叉树之按之字形顺序打印二叉树
主要看队列的应用与了解,就是利用先进先出的特点。先把每个节点塞入队列,再根据先进先出的特点来把自身值传入一维vector数组中去。鄙人不才,可能解释的比较烂,为了方便理解,拿出牛客网上的题解图来解答以便看官更好理解流程。每次队头出队列,出之前留下他的左右根节点。
2023-07-05 20:47:29
262
原创 JZ35 复杂链表的复制
就是往哈希表中一直塞节点,然后遍历哈希表,把各个节点给连接起来,并且连接了random,最后释放内存只需要遍历哈希表去释放即可。链表的内容终于告一段落了,关于这个模块我只能说很考验对内存和指针的理解,没有完全弄懂指针的建议去看一下《C与指针》这本书,写的相当的好,看完后我是对只针对理解要搞了不少,不过这次重新开始刷题后,发现对指针的部分内容还是生疏了,有时候看着题解代码,也要看半天,纸上画半天才搞清楚链表的逻辑。只能说,孰能生巧吧,C++毕竟指针是块很重要的内容,现在想破脑袋总比面试现场去想破脑袋要好。
2023-07-04 11:30:22
216
原创 题解 | #删除链表中重复的结点#(哈希表)
发现《剑指offer》里很多的链表题都是需要用到各种模板类,哈希模板类是高频出现的内容,学校里教到STL基本的类就结束了,甚至连vector这类神器都是一笔带过。需要注意的是,如果您使用自定义的类或结构体作为键的类型,就需要提供适当的哈希函数和相等比较函数来让 unordered_map 正确地进行元素查找和存储。您可以根据实际需要,选择不同的类型作为键和值,以满足特定的应用场景。在 unordered_map 中,第一个 int 表示键的类型,而第二个 int 表示值的类型。
2023-07-02 20:04:47
303
原创 Python创建折线图,包括代码美化与注释(黑马程序员Python课程)
从文件中读取数据,并通过http://www.ab173.com/来可视化数据。注意数据要从json转为字典。
2023-01-04 15:01:45
995
2
原创 使用Qt做一个简单绘图项目并生成可执行文件(.exe)
1、当设置背景颜色的时候,有多种方法,在这个项目里,我选择了在构造函数中直接设置背景颜色。但是这一方法,会导致画的两条线看不见…有没有大佬能告诉我为什么。将其复制,并且新建一个文件夹,将此.exe文件粘贴到里面。选择release,然后一定要进行编译!这样下来,当窗口缩放时,直线相对位置不变。颜色比较深,在构造函数那边也可以继续调颜色。这个是设置了笔的性质,为了更加美观。height()获取的是窗口的高。width()获取的是窗口的宽。在这里找到生成的exe文件。
2022-10-19 22:36:44
507
原创 Qt中Table Widget控件的使用
Qt中Table Widget控件在设计时,要分以下几步:1、先设置列数2、设置水平表头3、设置行数4、添加数据
2022-10-16 22:54:10
1766
原创 Qt中QTreeWidget树控件
已经设置好了ui界面,不要使用Tree View控件,这个需要学习MySQL这类数据库才可以使用.使用Tree Widget。
2022-10-16 22:32:01
584
原创 暑假c++学习打卡02-7.14 #ifndef与#endif
nullpterC++11新标准刚刚引如的一种方法,在C++中,对指针进行初始化赋值,nullpter比NULL要好的多分离式编译C++语言支持分离式编译机制,允许将程序分割成若干个文件,每个文件可被独立编译。C++将申明和定义区分开来,一个文件若想使用别处定义的名字则必须包含对那个名字的申明申明关键字externconstexprC++11新标准规定,允许将变量声明为constexpr来验证变量的值是否位一个常量表达式。这两者完全不同,p是一个指向常量的指针,而q是一个常量指针。......
2022-07-14 22:48:15
347
原创 暑假c++学习打卡计划01-7.12
学习主题:C++的引用C++类与对象运算符重载C++中的引用:引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。其格式为:类型 &引用变量名 = 已定义过的变量名。new的用法new int[5] 仅仅分配了空间, 但是 new A(),不仅仅为对象obj在队上分配了空间, 而且还调用了 A的构造函数,生成了这个对象。所以 new A()
2022-07-12 22:48:09
235
原创 Python学习日记1
.title() 以首字母大写的方式显示每个单词.upper()全部大写.lower()全部小写删除空白:使用方法末尾的空白.rstrip()开头的空白.lstrip()两边的空白.strip()数中的下划线:书写很大的数时,可使用下划线将其中的数字分组。universe_age = 14_000_000_000print(universe_age)打印出14000000000。不会打印下划线注释:与C++不同,Python的注释用(#)标识,#后面的内容会被解释器忽略Pytho
2022-05-16 23:47:53
398
原创 指针学习日记(五)经典抽象数据类型、标准函数库
抽象数据类型(ADT)是C程序员不可或缺的工具,这是由他们的属性所决定。这类ADT有链表,堆栈,队列,树等。内存分配:所有ADT都需要确定一件事情——如何获得内存来存储值。有3种可选方案:1.静态数组:长度固定,最为简单2.动态分配的数组:可以运行时再决定数组的长度。如果需要的话,可以分配一个新的更大的数组,再把原来数组元素复制到新数组,然后删除原先的数组,从而动态改变数组长度的目的。3.动态分配的链式结构:提供了最大程度的灵活性,这种方式对元素的数量几乎无限制,但是链式结构的链接字段需要消耗一
2022-05-08 11:24:24
86
原创 指针学习日记(四)使用结构与指针(链表)
typdef struct node{struct node *link;int value;}Node;Node* new;//创建指向结构体的指针newnew = (node*)malloc(sizeof(node));这个语句我想专门来解释一下。首先,new是个指向结构体的指针变量。其次,malloc是void指针,这就意味着它可以转变为任何类型的指针,而(node)就是强制转换符。将返回值强制转会成结构体形的指针(与new类型相同),而sizeof(node)就是分配这个大小的内
2022-05-07 20:30:04
522
原创 指针学习日记(三)
动态内存分配当一个数组被声明时,他所需要的内存在编译时就被分配。但我们总是会写类似的代码:int a[1000000] = { 0 };从某种意义上来说,没错,并且这类方式可以很好的避免数组溢出的问题。但同时,这绝对不是个好程序,原因很简单,内存帮你分配了sizeof(int)*1000000;但很多内存你可能根本用不到,这就造成了浪费。万幸的时,在C和C++中程序员可以手动分配内存以及释放掉不用的内存。一、malloc 与 free两者均在头文件stdlib.h中声明。malloc从内存
2022-05-06 22:51:33
73
原创 指针学习日记(二)
声明一个指针并不会自动分配任何内存!在对指针执行间接访问前,指针必须初始化;要么使他指向现有内存,要么给他动态分配内存对未初始化的指针变量执行间接访问操作是非法的,而且此类错误难以检测,往往是一个不相关的值”躺枪“被修改,这种错误很难通过调试去找到!NILL指针就是不指向任何东西的指针。它可以赋给一个指针,用于表示那个指针不指向任何值。!!!对NULL指针执行间接访问操作的后果因编译器而异(vs2019的结果就是终止程序,最要命的是它不会因此报错,而是运行时直接卡住)在此强烈推荐所有因没有详细介绍
2022-05-04 00:21:17
177
原创 指针学习日记(一)
#include #includeusing namespace std;int main(){char* p;char ch = ‘a’;p = &ch;cout << *p << endl;return 0;}可以把char*视作新的定义,此定义下的变量的值是char类型值的地址。*操作符是间接访问操作符,它与指针一起使用,用于访问指针所指向的值。在定义char* p的时候应当将char* 与int,long,char,string等一样的变量定
2022-05-04 00:07:11
88
原创 最近acm的一些感悟以及未来的一些想法
这篇文章纯当日记来写的,单纯只想说一下个人的经历。2021年高考结束,进入了本地的一所一本大学,但不是985or211。进大学之前就问了好多所谓的”学长学姐“,为什么要打双引号?因为我对他们的身份持怀疑态度。见面回答了几个基本问题后就开始推销卡,推销枕头被子什么的,其中一个甚至连续一个月连续发QQ来推销卡。。当时比较关心的几个问题:我校保研率如何?关于我校ACM成绩问题。第一个问题很好解释,毕竟当今社会,人人都或多或少有些学历焦虑,读研究生肯定是想提升下学历。得到的结论是保研率比较低,基本上平均绩点
2022-05-03 20:38:18
431
原创 洛谷回文质数 Prime Palindromes
洛谷回文质数题目描述因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000,000)a,b( 一亿)间的所有回文质数。输入格式第 1 行: 二个整数 a 和 b .输出格式输出一个回文质数的列表,一行一个。难点在于怎样不时间超限。回文数的判断倒还行,一开始的时候曾经尝试着用string字符串的办法来写,不过后来速度有点慢,就放弃了。素数的判断是此题关键:
2022-03-18 18:30:30
383
原创 zstuAcm夏令营旗手
题目描述一年一度的江苏省“信息与未来”小学生夏令营活动又开始了。与每年一样,组织者又设计安排了许多有趣的活动,其中第一项依然是挑选本次夏令营的旗手!由于这是一个非常具有荣誉感的角色,所以报名参加夏令营旗手角逐的营员仍然非常多,营委会于是规定:将N个人排成一排,编号1~N。从第1人开始进行1~M正向报数,报到M的人出列,再从下一个人开始继续1到M报数、出列。(注意:按某个方向报数报到尾部时,再反方向继续报数)。如此进行下去,直到剩下一人为止,这个人就是本次夏令营的旗手。小明非常渇望能成为旗手,你能编一个程序
2022-03-12 15:19:28
1912
原创 zstuAcm学生信息库的建立(用链表完成)
初步掌握了链表的建立,下面我们再来一个简单的链表的操作。输入一些学生的信息,包括学号、姓名、成绩。现在要求你用函数创建一个学生库的链表。struct node{…};struct node * Create_Stu_Doc();完成函数内链表的创建工作。输入输入一些学生的信息,每个学生信息一行,分别为学号、姓名和成绩,中间用空格隔开,其中学号和成绩均为整数,姓名为不超过15个仅包含大小写字母的字符。如果输入的一行是非正整数时,表示结束输出按照输入的顺序建立链表,并输出所有高于平均分
2022-03-12 09:37:22
299
原创 zstuAcm登记成绩(用STL链表list完成)
题目描述叶老师想要用链表登记成绩。对于每张试卷有两个信息:学号和成绩。对于登记成绩,要求学号小的成绩登记在学号大的成绩之前。叶老师有两种操作:1 a b:向链表中加入学号为a成绩为b的同学的成绩,题目保证不同的卷子不会有相同的学号。2 k : 查询当前链表中第k个同学的成绩是多少,题目保证k小于等于当前链表的长度。请用链表做这道题!输入第一行输入一个整数Q,表示操作的个数。接下来输入Q行,每一行是(1 a b)或者(2 k)格式,分别表示第一种和第二种操作。1 <= k, Q &
2022-03-09 16:15:07
262
原创 zstuAcm深入浅出学算法037-火车站
zstuAcm深入浅出学算法037-火车站火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问x站开出时车上的人数是多少?输入
2022-03-08 19:48:31
827
3
原创 zstuacm数据结构基础13-最大黑区域
zstuacm数据结构基础13-最大黑区域二值图像是由黑白两种像素组成的矩形点阵,图像识别 的一个操作是求出图像中最大的黑区域的面积。请设计一个程序完成二值图像的这个操作,黑区域由黑像素组成,一个黑区域中的每像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上下左右的像素相邻。两个不同的黑区域没有相邻的像素。一个黑区域的面积是其所包含的像素数。第一行两个正整数n和m,1<=n,m<=100,分别表示二值图像的行数与列数。后面紧跟着n行,每行含m个整数0或1,其中第i行表示图像的第i行的
2022-03-07 20:14:08
934
原创 zstuacm数据结构基础12-瓷砖
zstu数据结构基础12-瓷砖在一个w*h的矩形广场上,每一块1×1的地面都铺设了红色或黑色的瓷砖。小谢同学站在某一块黑色的瓷砖上,他可以从此处出发,移动到上,下,左,右四个相邻的且是黑色的瓷砖上。现在他想知道,通过重复上述移动所能经过的黑色瓷砖数。第一行为两个数h和w,2<=w,h<=50,之间有一个空格隔开。以下为一个w行h列的二维字符矩阵,每个字符为“.”"#","@",分别表示该位置为黑色的瓷砖,红色的瓷砖,以及小丫的初始位置。输出一行一个整数,表示小丫从初始位置出发可以到达的瓷
2022-03-07 20:08:00
1177
原创 编程入门3——求最大值
对于很多新手菜鸟来说,往往是他们烦恼的呢,就是for循环解决问题。其中最经典的两个问题便是有关求最大最小值的问题了;,上次说到求最小值的问题;今天我们就来讲讲有关求最大值的问题: 题目要求题目描述输入一个正整数 repeat (0include...
2018-07-16 22:45:33
946
原创 编程入门2——找最小值
对于很多新手菜鸟来说,往往是他们烦恼的呢,就是for循环解决问题。其中最经典的两个问题便是有关求最大最小值的问题了;今天我们就来讲讲有关求最小值的问题: 题目要求:题目描述输入一个正整数 repeat (0include...
2018-07-16 22:17:57
734
原创 编程入门1——显示两级成绩
每次考试,对于学生来讲恐怕最重要的事便是知道自己的成绩吧。但对于老师来说,每次考试完都是“tired like a dog”(累成狗)以为老师不仅要登记成绩,还要计算合格率,还要计算优秀率,还要。。。。。。 总而言之,老师的辛苦往往在我们看不到的地方。在此向各位老师敬礼。 今天我们就来说说如何用C语言编写显示两级成绩:题目要求 Description输入一个正整数 repeat (0...
2018-07-16 21:12:29
839
原创 关于显示两级成绩的问题
显示两级成绩 计算机的巨大优势就是能够快速计算, 人类利用这个优势来计算一些用人脑 计算十分复杂的问题; 例如:瞬间显示你有无合格; 题目:Description输入一个正整数 repeat (0include...
2018-07-15 09:09:08
389
原创 计算机“天才?笨蛋?”关于计算机由华氏温度转为摄氏温度的问题的问题。
在一些国家中总是常用华氏温度来表示温度而并非用摄氏温度,这有些时候会让病人及其家属摸不着头脑,哪怕知道了这一点也会为其复杂的转换关系而头疼不已,但自从计算机这个”懒人“救星被发明后,这些问题也就是打打字码的事情了。今天,我们就来讲解有关华氏温度转化为摄氏温度的问题的解法;请看题:Description输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。c = 5/9(f-32).Inpu...
2018-07-13 22:23:15
201
原创 平方?数学?
在计算机程序中,对于很多初学者来说平方根往往是令他们头疼的问题如何输出平方根?是一个问题。本次就来说说有关平方根的问题。以下为有关题目内容:062: 求平方根Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4354 Solved: 2168[Submit][Status][Web Board]Description输入 1 个实数x,计算并输出其平方...
2018-07-13 21:55:44
300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人