- 博客(29)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 数据大屏后端接口开发案例
如何创建一个 maven 项目,开发后端接口,这里演示一个练习案例,从数据库获取数据,然后在网页显示。本文章面向群体为入门级学者,文章产生于作者大学课程学习期间,参考网上其他博主教程,总结归纳所得。
2024-02-17 17:29:41 600
原创 vue安装及配置并创建项目
vue简单入门,vue安装及配置,vue初学者创建项目,vue插件使用,axios,echarts,vue下载,作者大学课程边学边参考其他博主教程,总结归纳所得,更加详细且逻辑更为清楚,亲自验证通过,请保护原创,谢谢
2024-02-17 17:15:06 1012
原创 MySQL手把手下载安装及基本使用
案例A数据库:anliDB.sql文件已经定义了案例库所需的products等五张表的结构和数据,通过source命令执行anliDB.sql文件中的代码也可以创建表和数据(记得先用create database myfirstdatabase创建一个数据库 ,再使用该数据库,然后才导入sql文件,因为表必须在数据库中,如无声明,则系统会随机放入一个数据库)。因为是国外网站,所以下载速度可能比较慢,等不了的可以去国内高校开源软件镜像网站下载,比如清华大学镜像网、中科大镜像网等。
2022-10-12 16:40:04 685 1
原创 Qt从安装到实战项目
①使用 delete :堆区: delete 的对象及其所有子对象,按顺序从父对象到子对象调用析构函数。(与创建顺序无关)栈区:不允许 delete。②先创建子对象,后创建父对象:堆区:先创建先析构,但最后释放内存,也就是先析构子对象。栈区:不允许,应用程序crush。③正常情况(不使用 delete 、无父对象子对象创建顺序问题):堆区:先析构父对象,但子对象先释放内存。栈区:先创建后析构,也可以理解为先析构子对象后析构父对象,析构的同时释放内存。(1)信号函数:①返回值是 void。
2022-09-01 21:38:01 2416 2
原创 Qt对象树原理_8注意2缺陷1迷惑_析构调用顺序
可以看到上述代码中,new的对象没有手动释放,其原理就是对象树。下图是一个对象树,win是窗口,Topic、obj是小控件。堆区:delete的对象及其所有子对象,按顺序从父对象到子对象调用析构函数。(与创建顺序无关)栈区:不允许delete。...
2022-08-14 22:19:46 1526
原创 使用自增运算符++犯错
一、问题描述在力扣刷题,报栈溢出错误,代码如下:class Solution {//冒泡排序public: int heightChecker(vector<int>& heights) { //往前冒往后冒都可以,这里选择往后冒,标记已经冒泡的边界前一个位置 //两个冒泡计数器 int left,right; //数组长度 int len = heights.size();
2022-05-17 11:24:28 131
原创 力扣详解(747至少是其他数字两倍的最大数)
一、题目略,请到 leetcode 查看题库的第 747 题至少是其他数字两倍的最大数。先抓题目关键词:①整型数组②最大值唯一③最大值是其余数的两倍以上④满足返回最大值下标,否则返回 -1二、解题(1)暴力法,O(n),提交用时 4 ms,内存消耗 10.6 MB题目要求判断最大值与其余数关系,所以我们首先就要找到最大值。并且只要最大数是次大数的两倍以上,就一定满足最大数是其余数字的两倍以上,这很容易理解。...
2022-05-16 20:54:55 301
原创 力扣详解(4寻找两个正序数组的中位数)
文章目录一、题目描述二、解题(1)能通过,但是时间复杂度不符合要求(2)原地算法,但时间复杂度依旧为O(m + n)一、题目描述略,请自行查看力扣第 4 题二、解题(1)能通过,但是时间复杂度不符合要求这种方法是最简单的一种,空间复杂度是 O( m + n )但是时间复杂度是 O( (m + n) log(m + n) ),题目要求的时间复杂度是 O( log(m + n) )。思路很简单,先开辟一个辅助数组,长度为两数组长度之和,定义三个计数器,两个在旧数组上移动,一个在新数组上移动,然后比较
2022-05-15 23:22:04 230
原创 选择结构程序设计
一、题目一请编写下列分段函数:若x<1,y=0.4x+1;若1<=x<=100,y=0.8x;x>100,y=0.6x;请从键盘读入x的值,计算y的值并输出。二、题目一解题#include <stdio.h>int main(){ float x,y; printf("please input x:"); scanf("%f",&x);//从键盘读取数据存到变量x if(x<1)
2022-05-15 20:20:09 317
原创 加密和解密——顺序结构程序设计
一、题目请模拟有限字符的加密和解密过程:1)请输入一组密码(4位数)2)请输入待加密的文本,这里只需要输入4个字符,如“girl”3)加密的规则是将对应数位加到字符上,变成新的字符如输入1524四位数密码,则最终输出"hntp"4)解密,就是在原来字符的基础上减去对应数字,再输出。二、解题(1)解题思路输入的文本转化成ASCII码存储在变量中,设置的密码存储在变量中,将前面两个数字相加得到新数字并以字符形式输出作为加密文本,最后输入密码并判断密码正确性然后执行解密。(..
2022-05-15 20:13:11 871
原创 调试台显示xxx.exe(进程xxx)已退出,代码为0
一、解释首先,这个不是错误,这是正常显示!通常,程序运行都会提示你“代码为xxx”。对应了相应程序运行情况,是成功还是遇到了错误,根据相应错误也便于修改程序。可以复制这句话到网上搜索,都有详细的文章。xxx.exe 是你的代码文件。进程 xxx 是系统分配的。只要记住,显示代码为 0 就是没有错误。二、更改(1)工具:(2)选项:(3)调试:(4)勾选这个:但是注意,勾选后就会导致程序运行成功后直接关闭小黑框,也就看不到结果了,所以要在主函数结束.
2022-05-10 14:01:40 18645 2
原创 力扣详解(75颜色分类)
文章目录一、题目二、题解(一)为了解题而解题(二)排序算法解题一、题目略二、题解(一)为了解题而解题(1)三指针一次循环可以看作有三个区间:全 0 区间、全 1 区间、全 2 区间。定义三个变量指向(标记)三个区间末尾的下一个位置,看图:为什么这么安排,先看代码再看几个主要步骤:class Solution {public: void sortColors(vector<int>& nums) { //0,1,2的指针 int
2022-05-09 21:32:10 729
原创 优雅的掌握位运算
我认为位运算是最基础、最应该掌握的一个算法。而且我认为位运算真的很奇妙、很神奇!很佩服莱布尼茨!文章目录一、@[位运算是什么?]二、@[位运算有哪些?]1、位移运算符(1)@[左移](2)@[右移]2、逻辑位运算符(1)@[位与](2)@[位或](3)@[按位取反](4)@[异或]3、补充@[二进制减一]三、@[位运算技巧大全]四、@[LeetCode例题]一、位运算是什么?通俗的讲,位运算就是直接对整数在内存中的二进制位进行操作。二进制就是用 0 和 1 表示的一串数
2022-05-08 17:44:26 640
原创 数组下表访问越界导致溢出2
一、问题描述数组下标访问越界。错误的代码: //双定位变量 int p0 = 0,p1 = 0; //遍历计数器 int i; for(i = 0;i < nums.size();++i) { if(nums[i] == 0) { swap(nums[i],nums[p0]); if(
2022-05-07 14:04:25 420
原创 动态开辟内存vs溢出报错
一、问题描述在 vs 使用 malloc 和 new 开辟连续空间时,出现警告:子表达式可能溢出。使用普通数组时没问题。抓耳挠腮了一下午,在网上也没办法搜到对应原因或解决的方法,后来在晚上干泡面的时候突然灵感一发,然后就解决了,具体看下面。二、问题分析① malloc 和 new 是在堆区开辟空间。②普通数组空间编译系统在栈区分配。③堆区由我们操作。基于以上三点,所以我想到是不是 vs 的权限问题导致报错。随即,我在 vs 中手动设置了堆保留大小,然后就没报错了。三、
2022-05-03 22:09:46 2833 1
原创 数组下标访问越界导致溢出1
一、问题描述 runtime error: addition of unsigned offset to 0x603000000010 overflowed to 0x60300000000c (stl_vector.h)意思是:运行时错误:将无符号偏移量添加到 0x603000000010 溢出到 0x60300000000c (stl_vector.h)提示溢出,所以我考虑到数组访问问题。错误代码:int i,j,tmp;for(i = 1;i < nums.s
2022-05-02 10:52:32 1677
原创 区分sizeof和size和length
一、问题①在leetcode中使用sizeof计算数组长度执行不通过,在自己vs中可以②在leetcode中使用nums.size()计算数组长度执行通过,在自己vs不可以③使用题目提示的n = length编译不通过,在自己vs也不可以二、原因leetcode使用的是容器形参,我自己vs定义没有使用容器vector,而是使用数组①sizeof用来计算基本数据类型,如:int arr[5];char arr2[] = "asdfg";char arr3[100] = "as
2022-05-01 21:38:53 1452
原创 运算符重载训练
一、题目1分析程序,给出结果。#include <iostream>#include <cmath>using namespace std;class Magic { double x; public: Magic(double d = 0.00) :x(fabs(d)) {}//fabs是cmath头文件的函数,求绝对值的 Magic operator+(cons...
2022-04-30 21:06:13 281
原创 自定义类练习
一、题目请编写一个书类(Book),可包含数据成员(不限于以下成员,自行设计):书名、单价、出版社(涉及到字符串的,请使用C++string类型)......必须包含如下成员:(1)普通构造函数(构造函数应重载)(2)拷贝构造函数(3)析构函数(4)设置静态数据成员和成员函数,比如总价、平均值其他成员函数请自行设计,丰富类的功能。要求:数据成员设置成私有在主函数测试:(1)创建一个对象(一本书)(2)使用(1)中的对象克隆5个对象(使用对象数组)。(3)结合循
2022-04-30 20:58:21 318
原创 构造函数、析构函数、对象数组、this指针训练
一、题目请在下列代码基础上增加或修改如下功能:1)带默认值或者重载的普通构造函数2)析构函数(增加一条输出语句做测试即可)3)将3个立方柱定义成对象数组并初始化4)所有函数的this指针请显示使用#include <iostream>using namespace std;class cube//定义类{public: //构造函数重载或者带默认值,建议二选一,允许对象传参和不传参都可以执行 //析构函数 void setvalue();//输入数
2022-04-30 20:55:26 204
原创 引用做形参训练
一、题目编写交换两个字符串的函数swap,要求如下:1)使用引用作为形参;2)使用C++字符串方法。二、解题(1)解题思路:使用string类定义两个字符串对象,定义string字符串引用做形参的交换函数,实现多个返回值,输出交换前后的两个字符串内容,对比。(2)运行结果:(3)代码://交换字符串的 swap 函数,引用做实参,使用引用做形参,使用c++字符串方法#include<iostream>#include<string>.
2022-04-30 20:50:48 1138
原创 引用、类与对象编程练习
一、题目编写一个同时可求最大最小值、平均值的函数,给一组数据(float型数组),求出这组数据的最大最小、平均值。要求使用引用作为形参。(提示,这个函数需要返回多个数据,引用相当于多个返回值,考察引用和数组作为形参)二、解题(1)解题思路:定义两个函数,分别是输入函数和求数据函数,返回值为无,但求数据函数使用引用可以直接操作实参,相当于间接返回多个返回值,求数据函数中分别求平均数和最值,最值可以在一个循环内判断,最后主调函数输出结果。(2)运行结果:(3)代码://同时可.
2022-04-30 20:48:18 158
原创 链表练习(创建和输出)
一、题目1使用头插法创建链表(形参是int n,代表指定创建结点个数),要求创建两个链表并分别输出查看,第1个链表有5个结点,第2个链表3个结点,链表的作用是存储字符型数据。二、题目1解题(1)解题思路:分主函数、创建函数、输出函数三个函数,创建函数形参为节点数n,输出函数返回值为void,主函数中得到用户要创建的链表个数m,运用循环分别获得用户每个函数要的节点数n,随后分别调用创建函数和输出函数,另外定义一个全局结构体指针数组存放每个链表的头结点地址,方便后续添加功能时可调用,如第二问。(
2022-04-30 20:44:10 687
原创 链表分解练习
一、题目完成如下链表分解任务:(1)动态创建3个结点,分别用3个指针指向(p1、p2、p3),要求结点存储float型数据,分别存入1.1、2.2、3.3(2)将第一题的3个结点链接起来,令p1作为头指针,尾结点指针域为NULL(3)创建具有n个结点的链表,n可从键盘读入,提示:使用循环以上三个题目可直接在主函数上实现(4)将(3)实现的功能抽离成函数,要求n为形参,返回值为链表首地址。二、分解任务一①思路:先创建结构体,在主函数中定义结构体类型的指针并开辟结构体类型的空间,
2022-04-30 20:40:02 254
原创 友元和类模板训练
一、题目编写一个类模板,保存一组序列数据(该序列数据可以是int型、char型或者float型,提示:数据成员是一个一维数组,类型是虚拟类型参数),该类需要实现对序列数据输入、输出、求和、求平均、统计序列个数、排序、插入或者删除指定的数据等功能。在主函数中测试int、char和float型序列数据处理。二、解题思路①数据成员:指针、数组容量、数组大小 成员函数:有参构造函数、析构函数、输入函数、输出函数、求和函数、数组容量函数、数组大小函数、平均函数、排序函数、插入函数、删除函数②构造函数:
2022-04-30 20:29:39 112
原创 类和对象章节知识点综合训练(C++)
一、题目描述(略)二、解题思路①定义书本类,数据成员有书名、单价、出版社,静态数据成员有总价、总书本数、书价平均值,成员函数有带部分默认值的构造函数、不带默认值的构造函数、析构函数、复制函数、输出数据成员函数、修改数据成员函数、静态成员函数②类外初始化静态成员,类外定义部分成员函数③主函数定义数组复制已定义的对象④测试是否创建对象成功、是否复制成功、未调用静态成员函数是否静态数据成员会改变、全传参对象、部分传参对象、不传参对象⑤使用string类定义字符串三、运行结果四、
2022-04-04 12:03:12 1005
原创 通俗易懂的康托展开(C++实现)
简介:(一)背景介绍在备战蓝桥杯的过程中,遇到了康托展开式,博主当时也是弄的焦头烂额,最后通过不断的模拟,搜集资料,写出了一个还比较好懂(我这么认为)的写法。(二)环境介绍(1)机器:Lenovo小新pro16 Windows10(2)开发工具:Visual studio 2020(3)开发语言:C++话不多说,直接上代码,解析都在代码注释:/** 康托展开式是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩* 康托展开实质:计算当前排列在所有由小到大的全排列
2022-03-26 19:16:07 5211 2
while((c=getchar())!=EOF)结束时输入EOF后为什么还要回车
2021-10-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人