- 博客(31)
- 收藏
- 关注
原创 创建一个含有10个整数的vector对象,然后用迭代器将所有的元素值变为原来的2倍,输出vector的值。
*创建一个含有10个整数的vector对象,然后用迭代器将所有的元素值变为原来的2倍,输出vector的值。
2023-02-08 11:00:29
327
原创 读入一组整数并将它们存入一个vector对象,将每个相邻整数的和输出出来。
读入一组整数并将它们存入一个vector对象,将每个相邻整数的和输出出来。
2023-02-07 15:28:42
360
转载 Java并发
多线程:在了解线程之前,要先知道进程这个概念。进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。简单点说,进程就是执行中的程序活动,是一个活动的实体。多进程,就好比同时打开了Word,Excel和Visio,他们都是不同的程序运行活动,即多个进程同时启动而已,这个概念比较好理解。线程,是一个执行中的程序活动(即进程)的多个执行路径,执行调度的单位。线程依托于进程存在,在进程之下,可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用
2021-09-14 21:52:03
93
翻译 Java中如何创建多线程
Java中多线程的几种实现方式1、继承Java.lang包下的Thread类,重写Thread类中run方法,在run()方法中实现运行在线程上的代码。2、实现Java.lang.runnable接口 ,也是在run()方法中实现运行在线程上的代码。3、通过Callable和Future task创建线程 ,通过Callable接口,就要实现call方法,4、通过线程池创建线程方法1和2 很简单,通过重写run方法 返回值void,所以不能返回结果。而方法3和4 是有返回值的。方法3的call
2021-09-13 00:42:51
117
原创 Java线程和进程区别
提起线程总是离不开进程,二者的定义。定义:进程是操作系统资源分配的基本单位,线程是处理器任务调度和执行的基本单位;1 进程 每个运行的程序都是进程 。xx.exe就是一个进程注意:在多任务操作系统中进程并不是同步进行,只能说cpu运行速度比较快,能在极短的时间内在不同的进程之间进行切换,所以给人以同时执行多个程序的感觉。 即进程不同步2 线程 在一个进程中有多个执行单元同时运行,这些执行单元简称为线程。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。...
2021-09-12 22:08:51
205
原创 Java异常 (throwable)
异常主要是error和exception两种(throwable的两个子类)1、Error类及其子类,代表的是Error类及其子类,代表的是jvm本身的错误,错误不能被程序通过代码处理2、Exception类及其子类,一般都是程序写错了。可以被Java异常处理机制使用,是异常处理的核心。3、Exception 的子类中runtimeException及其子类表示运行时异常,除此之外,其下别的子类都是都用于表示编译时异常。运行时异常与编译时异常1、编译时异常 (和上面Exception部分对应)编译
2021-09-12 21:01:47
819
原创 Java中抽象类和接口
相同点:抽象类和接口都不可以实例化,都包含抽象方法,其子类都必须覆写这些抽象方法。1 为什么会有抽象类:提取共性,集中注意力在当前有关的事请上,为此建立了一种机制。强制子类必须重写此方法,完成此任务。2 为什么会有接口:一个类只能继承一个父类,但是可以继承N个接口。接口的目的是指明相关或者不相关类的多个对象的共同行为,跟抽象类很相似,可以说接口是更加抽象的抽象类。接口体现了程序设计的多态和高内聚低耦合的设计思想。不同点:(1)实现: 抽象类extends,接口接口implement(2)继承
2021-09-12 20:54:49
74
原创 Java方法重写
方法的重写时子父类直接的。1 什么是方法的重写?为什么需要重写?当一个子类继承父类时,它同时继承了父类中的方法,并可以直接使用该方法,如果该方法不能很好的表达子类的状态,那么子类可以对父类的方法进行重写。2 当方法被重写后,子类需要引用父类的原始方法,必须使用super关键字3方法的重写注意事项:(1)子父类方法名,参数,返回值类型必须一致(2)子类的修饰符权限必须大于等于父类(年轻人更开放)...
2021-09-12 20:21:30
60
原创 java中四种访问控制级别
1private(类访问级别)2default(包访问级别)3protected(子类访问级别)4public(公共访问级别)访问级别一次增大
2021-09-12 20:06:34
1621
原创 为什么引入多态?什么是多态,怎么实现它?
1 为什么会有多态?因为在设计一个方法的时候,通常希望该方法具有一定的通用性。假如说要实现一个动物叫的方法,但是每一个动物的叫声不同,因此可以在方法中接收一个动物类型的参数,这样在同一个方法中,由于参数不同导致执行效果各异的现象就是多态。这也是为什么设计多态的原因。(总结就是同一个行为具有多个不同的表现形态)2 怎么实现多态 ?关键三要素 :(1)继承(也可是接口的实现)(2)重写 (3)向上转型(其实就是父类引用指向子类对象)...
2021-09-12 11:19:28
355
原创 mysql必知必会导入数据的时候的错误
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入改正就是斜杠改为反斜杠欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页
2021-08-13 13:36:11
87
原创 排序算法
1 选择排序最简单但是最没有用的排序算法,也有优化空间如何计算时间和空间复杂度算法的验证 随机数据生成器 对数器写算法程序的哲学思想:就是先找到最小的放到第一个(第一个原本的和最小的互换),在找第二小的for(int i=0:i<arr.length-1;i++){int minpos=i;for(int j=j+1;j<arr.length;j++){if(arr[j]<arr[minpos])minpos=j;}int temp=arr[i];arr[i.
2021-04-04 02:28:19
150
1
原创 动态规划(Dynamic Programming,DP) 求连续子数组的最大和
动态规划中的每一个状态一定是由上一个状态推导而来,这一定区别与贪心算法,贪心没有状态推导,而是局部直接选最优的转态规划解题步骤:状态规划的状态转移公式是很重要的,但是动态规划不仅仅只有递推公式将其分为以下五步曲,就可以讲动态规划掌握确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组...
2021-03-29 14:37:23
109
1
翻译 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
剑指offer 矩形覆盖图片来源于牛客的题友,这种分析便于理解 ,和青蛙跳台阶,完全类似,分析思路是一样的 。代码如下:java 版public class Solution { public int rectCover(int target) { if(target <= 0){ return 0; } if(target == 1){ return 1; } if(t
2021-03-28 13:33:50
148
原创 内存分区模型
内存分区模型1.C/C++程序在执行时,将内存大方向划分为4个区域(1)代码**: 存放函数体的二进制代码,有操作系统进行管理的(2)全局区**: 存放全局变量和静态变量以及常量,由操作系统管理(这里的常量不包括局部常量)(3)栈区**:由编译器自动分配释放,存放函数的参数值,局部变量等注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。因为编译器自动释放 ,不要去返回局部变量的地址。(4)堆区:由程序员分配和释放,若程序员结束时由操作系统回收(malloc和new动态申请内存)
2021-03-28 10:07:15
104
原创 对于电脑window10更新了新的系统,CAD,PS,MATLAB,以及卫星仿真软件stk不能打开的问题loadlibrary failed with error 87
1 对于matlab的话如果桌面图标不能打开的话,就从安装路径的bin文件中打开。亲测有效。2如果打开一些软件出现loadlibrary failed with error 87错误的原因归根到底是AMD的显卡驱动更新引起的。驱动更新时,只是将新文件以覆盖方式添加到电脑上,但并未对旧驱动进行彻底的清除,导致驱动更新以后,一些旧文件仍然保留在本地电脑上解决办法1.首先,进入C:\Windows\System32目录下2.在搜索框中输入atig6pxx.dll进行查找,将其全部删除即可。以上方
2021-03-28 10:01:08
1854
1
转载 解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)
如何解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)**1、登录到安装Mysql的主机,打开cmd命令行工具,执行命令mysql -uroot -p,报出下面所描述的错误; ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)解决方案如下:1、首先以管理员身份启动cmd,要不然服务禁止访问。2、然后在cmd中输
2021-03-28 00:14:36
3713
2
转载 接口和抽象类有什么区别
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能...
2021-03-25 19:47:34
632
1
原创 通讯录管理系统项目(cpp面向过程阶段)
**本教程主要利用c++来实现一个通信录管理系统系统中需要实现的功能如下:(1)添加联系人:添加新人,信息包括(姓名、性别、年龄、联系电话、家庭地址,最多纪录100人)(2)显示联系人(3)删除联系人(4)查找联系人(5)修改联系人(6)清空联系人(0)退出通讯录代码如下:(里面重要的一点是函数形参使用的是传址方法,传值发,形参不能改变实参,所以这里面不能用,传址方法还是在延续C语言风格,等学完c++面向对象的引用特性时,使用引用代替传址会更好。)#include<string&
2020-06-24 17:02:27
358
原创 c++函数的分文件编写(入门级)
函数的分文件编写作用:让代码结构更加清晰函数分文件编写一般有4个步骤1创建后缀名为.h的头文件2创建后缀名为.cpp的源文件3在头文件中写函数的声明4在源文件中写函数的定义代码示例:第一步创建一个头文件命名为swap.h头文件#include<iostream>using namespace std;//函数的声明void swap(int a, int b);第二步创建一个后缀名为.cpp 的源文件#include"swap.h"//让系统知道这个函数的定义与头文
2020-06-24 16:47:05
1009
原创 二维数组名的作用
二维数组名的作用(1)查看内存占用空间(2)查看二位数组的首地址代码示例int arr[2][3]={ {1,2,3}, {4,5,6}};cout<<"二维数组占用的内存空间为:"<<sizeof(arr)<<endl;cout<<"二维数组第一行占用的内存空间为:"<<sizeof(arr[0])<<endl;cout<<"二维数组第一个元素占用的内存为:"<<sizeof(arr[0]
2020-06-24 16:04:21
347
原创 在编程时添加随机数(c,c++)
1 //要添加头文件#include<ctime>//添加随机数种子,作用是利用当前系统时间生成随机数,防止每次随机数都一样srand((unsigned int)time(NULL));//添加随机数种子,作用是利用当前系统时间生成随机数,防止每次随机数都一样 int num = rand() % 100 +1; //1系统生成随机数 注:rand() % 100生成的是0到99的随机数...
2020-06-24 15:59:14
634
原创 const修饰的指针(常量指针,指针常量)
1.const修饰指针 常量指针下面结合代码进行详解int a=10;int b=10;int *p=&a;//此时指针指向a;const int *p=&a;现在我们在最前面加了一个const ,我们可以按顺序记忆 ,首先const是常量 ,后面是指针 ,所以就叫常量指针;特点:指针的指向可以修改 ,但是指针指向的值不可以改示例:int a = 10;int b = 20;const int *p= &i;*P=10;//error错误操作,指针指向的值
2020-06-24 15:52:54
813
原创 c/c++指针问题(空指针,野指针)
1.指针的内存空间有多大在32位计算机中是4个字节64位是8个字节,这个是不管指针是什么类型的,因为指针类型只是代表它指向的变量类型,而指针本身是地址,所以这只于机器的位数有关。下面验证代码:cout<<sizeof(int*)<<endl;//int *就是指的是指针cout<<float *<<endl; double * ,char *也可以直接写 cout<<p<<endl;//int *p2.空指针指针变量指
2020-06-24 15:03:02
1277
原创 汉诺塔小游戏程序(递归算法)
#include<stdio.h>void move(int n, char x, char y, char z){ //将n个盘子放到z上 if (n == 1) { printf("%c-->%c\n", x, z); } else { move(n - 1, x, z, y);//将n-1个盘子借助z移到y上 (中间的也是借助的 ,也可以选择最右边的z为借助平台) printf("%c-->%c\n", x, z);//将第n个盘子移到z上 m
2020-06-09 11:30:31
371
转载 数组指针与指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];(指向数组的指针,简称数组指针)(括号)优先级高,所以p是一个指针,并且指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。例子:如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a; //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]p++;
2020-06-09 10:58:53
120
1
转载 栈容器stack
栈容器stack概念:栈(stack)又称堆栈,是一种容器类的改编,为程序员提供了堆栈的全部功能——也就是说实现了一个先进后出的数据结构;是一种受限制的线性表,其限制只允许在表的一端进行插入和删除。允许操作的一端称为栈顶(top),不允许操作的称为栈底(bottom),每次删除的数据元素总是最后插入的数据元素,所以栈又称为”后入先出表“。栈的存储结构有2种:一种顺序存储结构(顺序栈),一种链式存储结构(链式栈)。头文件:#include下面是栈stack的成员函数介绍:stack s;s.
2020-06-07 22:59:23
321
转载 length()、size()、sizeof()三者的区别
一、length()函数c++中,length()只是用来获取字符串的长度。例如:string str = “abc”则,str.length() = 3。二、size()函数c++中,在获取字符串长度时,size()函数与length()函数作用相同。除此之外,size()函数还可以获取vector类型的长度。例如:vector < int> num(10,1)//这个初始化的含义是容器里面有10个都为1的元素则,num.size() = 10;三、sizeof()运算符s
2020-06-05 10:51:54
939
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人