- 博客(20)
- 收藏
- 关注
原创 C++ 字符串转int
目前知道三种方法:1.最复杂的 使用stringstream2.使用atoi配合c_str()使用 (因为atoi要用在const char*类型上,而c_str()可以将string转换成该类型)3.直接使用stoi先记录下,具体实现后面补充
2020-09-25 22:07:44
571
原创 MySQL数据库4种隔离级别 脏读、不可重复读、幻读
脏读、不可重复读、幻读都是在数据库操作中,事务出现交叉时可能出现的异常情况。这种异常情况,其实也不算是数据库出现了错误,而是由于规则制定的不严格出现的特例。解决办法就是更严格的规则,即隔离。脏读:读到了未提交的数据(脏数据)。不可重复读:在事务执行的过程中,对同一数据的读取结果不同。幻读:在事务执行的过程中,对同一数据的读取结果相同。但是在该事务执行结束后(提交或回归),发现数据和执行时的结果不同。不止出现在数据数量的增加,还出现在对同一数据的更改。脏读、不可重复读和幻读的区别:脏读和不可重复读都可
2020-09-14 10:24:00
733
原创 C++ 指针常量和常量指针
首先在C++目前我看到的类型声明方式,该变量的类型都是由最后几个字来确定,前面是定语,修饰词。(有其他不同的欢迎指出,共同学习)比如:指针数组:是数组,数组里存的是指针。数组指针:是指针,指针指向数组。所以指针常量:首先是常量,然后是一个指针,即是该指针是一个常量,指针的值,即指向的地址不会变。常量指针:首先是指针,指针指向的是常量,该指针所指向的值是个常量。然后对于类型 const,除了const在类型声明的最左侧的情况,const都修饰它左边的类型,当它在最左边时,修饰右边最近的类型。
2020-09-11 09:41:21
625
原创 C++ 构造函数和析构函数的顺序
1.正常继承:基类析构不是虚函数,创建子类对象2.特殊情况:父类指针指向子类3.特殊情况:父类指针指向子类,但是父类析构为虚函数
2020-09-09 09:51:51
129
原创 归并排序 python
'''将序列分成左右两份,然后对每一份再进行该操作,直至分为长度为2或者一为止然后对最小序列进行排序,排序之后返回上一层,合并排序之后的两个子序列。直至返回到合并成原序列大小位置,此时排序完成'''def divide(list): if len(list) > 2: return list[:len(list) // 2], list[len(list) // 2:] else: return listdef panduan(list_
2020-06-02 09:18:11
267
原创 快速排序 python
第一次写,编程算法能力太差,可能程序过于复杂臃肿,希望通过以后的学习,再回头看可以进行修改精简。'''先从待排序序列中选出一个数作为基准,然后对除该数外的其它数进行分区,小于该数的排在其左边,大于的放在右边,按顺序放即可,不在意大小顺序。分区之后,新序列分为三部分,[小于基准,基准,大于基准],然后再对基准两侧序列分别进行上述操作,直至待分区的子序列只有一个数位置。完成排序。'''def toSort(list): temp = list[0] temp_list_left =
2020-06-02 09:11:33
101
原创 python魔术方法
常用魔术方法魔术方法就是一个类/对象中的方法,和普通方法唯一的不同时,普通方法需要调用!而魔术方法是在特定时刻自动触发。1.__init__初始化魔术方法触发时机:初始化对象时触发(不是实例化触发,但是和实例化在一个操作中)参数:至少有一个self,接收对象返回值:无作用:初始化对象的成员注意:使用该方式初始化的成员都是直接写入对象当中,类中无法具有2.__new__实例化魔术方法触发时机: 在实例化对时触发参数:至少一个cls 接收当前类返回值:必须返回一个对象...
2020-05-29 14:31:39
158
原创 选择排序 python
'''首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。初始状态:无序区为R[1..n],有序区为空;第i趟排序(i=1,2,3…n-1)开始时,当前有序区和无序区分别为R[1..i-1]和R(i..n)。该趟排序从当前无序区中-选出关键字最小的记录 R[k],将它与无序区的第1个记录R交换,使R[1..i]和R[i+1..n)分别变为记录个数增加1个的新有序区和记录个数减少1
2020-05-25 15:00:47
145
原创 冒泡排序 python
'''比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排序完成。'''def bubbleSort(list): for i in range(len(list) - 2): for j in range(len(list) - 1 - i): if list[j] > list[
2020-05-25 14:59:48
168
原创 希尔排序 python
'''插入排序的进阶版按照步长n将数据分成n个序列,每个序列进行插入排序完成上述排序,减小步长(一半),继续进行插入排序重复上述步骤,直至步长变为1。'''def ShellSort(list): step = len(list) // 2 while step > 0: for i in range(step, len(list)): index = i while index > step-1:
2020-05-25 14:56:41
170
原创 插入排序 python
'''通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元素(已排序)大于新元素,将该元素移到下一位置;重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;将新元素插入到该位置后;重复步骤2~5。'''def insertionSort(list): for i
2020-05-25 14:55:37
170
原创 虚拟机Ubuntu下使用python
最近因为要使用Siammask的数据库,之前双系统删除了,再重新装双系统很麻烦,所以用了虚拟机来装Ubuntu。首先是从Windows拖动复制文件到Ubuntu下遇到些问题,通过安装VMware Tools来解决,首先点VMware上的 虚拟机 然后点击 安装VMware Tools ,安装之后Ubuntu下有一个VMware Tools的光驱,将.tar.gz后缀的文件解压到桌面Desk...
2020-01-06 21:15:41
1958
原创 在虚拟机Ubuntu下安装pip
今天用虚拟机装了Ubuntu18.04 在使用pip的时候提示 E:无法定位软件包所以安装pip3 方法为:sudo apt-get update然后:sudo apt install python3-pip解决
2020-01-06 11:20:47
3497
3
原创 cuda和对应英伟达显卡驱动下载
在安装完显卡后,要安装对应的cuda很麻烦,一不小心对应不上就需要卸载重新下载在多次下载之后,经验是 先不下载英伟达显卡驱动,直接下载cuda,在下载cuda的选项里选择英伟达显卡驱动,一步到位不过这个方法需要知道cuda版本,因为我下过很多次,所以知道自己的版本号...
2019-12-26 20:36:52
1430
原创 opencv python打开双目摄像头
在python下使用opencv打开摄像头的函数为:cv2.VideoCapture(index) #index为摄像头标号默认情况电脑自带摄像头索引为0,外置为1.2.3…,但是我的没有自带摄像头所以使用cv2.VideoCapture(0)但是用上面代码遇到了其他问题:双目摄像头只有左目打开,并非双目。查了各种方法,最后在index后面加了api接口才实现双目的拍摄cv2.Video...
2019-12-26 20:31:15
3131
8
原创 TensorboardX在pycharm中的使用
首先 from tensorboardX import SummaryWriter然后在训练过程中,在pycharm终端窗口(Terminal)输入:tensorboard --logdir=“log文件所在的目录” 目录的引号也要有...
2019-12-25 09:00:23
1905
原创 VS2019 libtorch opencv
在pytorch官网下载libtorch:安装 CMake;配置VS2019 opencv的环境(libtorch环境暂不用配置)并编写 opencv+libtorch的代码,此时libtorch有关库和函数都会报错,不过用CMake连接后就正常了;代码编写完成后,用CMake进行链接,CMakeLists.txt内容为:cmake_minimum_required(VERSION 3...
2019-10-15 11:51:44
1405
原创 英伟达Nvidia旧版本驱动下载
英伟达官网驱动只有最新几个版本的驱动,驱动分为标准和DCH,我的电脑只能使用DCH版本的驱动。如果还想要下载更早之前版本的显卡,可以进入 www.nvidia.cn/Download/Find.aspx?lang=cn 进行下载。...
2019-10-14 22:25:32
52175
1
原创 VS2019配置opencv
首先添加系统变量:D:\Opencv\opencv\build\x64\vc14 或者 D:\Opencv\opencv\build\x64\vc15 ;右击VS中的项目(面板右侧), 打开属性,点击VC++目录中的包含目录, 加入:D:\Opencv\opencv\build\include 和 D:\Opencv\opencv\build\include\opencv2;再点击库目录,...
2019-09-16 21:20:13
1005
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人