- 博客(19)
- 收藏
- 关注
原创 软件测试方法--黑盒测试、白盒测试
黑盒测试和白盒测试一、白盒测试:白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。白盒测试的方法:强度由低到高:语句覆盖:所有的“语句”都要覆盖一遍。就是设计若干个测试用例,运行被测程序,使得每一个执行语句至少执行一次。判定覆盖:包含语句覆盖,每个判断T、F各一次。使设计的测试用例保证程序中每个判断的每个取值分支至少经历一次。条件覆盖:包含语句覆盖,每个条件T、F各一次是指选择足够的测试用例,使得运
2020-10-12 15:41:18
4877
原创 进程和线程区别、以及进程的同步与互斥
进程和线程一、什么是进程:站在操作系统的的角度,进程就是一个PCB(进程控制块),系统利用PCB来描述进程的基本情况和活动过程,进程控制、管理过程。进程是资源分配和调度的基本单位。进程如何描述一个运行中的程序:内存指针、程序计数器、上下文数据、标识符PID、进程状态、状态、优先级、记账信息、IO信息进程的特性:1、动态性:由创建而产生、调度而执行、撤销而消亡,有一定的生命周期2、并发性:指多个进程实体存在于内存之中,能够在一段时间内同时运行。3、独立性:进程是一个能够独立运行的,独立获取资
2020-10-08 17:09:14
848
原创 谷歌浏览器笔试不能打开摄像头如何解决
在笔试时摄像头不能够正常打开,无法正常使用首先我们检查相机权限看是否权限被限制。如果相机权限被打开,接下来就考虑,麦克风权限,在谷歌浏览器中,必须两者权限共同开启才能够使用。麦克风权限:最后我检查自己的麦克风权限没有打开,打开状态下,就和上图一样,然后进行摄像头调试,最终解决了问题。希望能帮助大家解决一点问题。...
2020-09-10 20:44:25
5213
原创 [牛客网]--剑指Offer 从尾到头打印单链表 三种方法
[牛客网]–剑指Offer 从尾到头打印单链表[题目描述]:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。**本题链接方法一: 数组+reverse思路:首先将链表节点的值存储到自定义的数组当中,然后利用库函数reverse进行翻转。class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> tmp;
2020-08-24 15:26:34
142
原创 网络广告与电子邮件营销的价值
网络广告的价值:(1)受众范围广;(2)信息可以交互;(3)网络广告具有很强的人—机交互性。交互具有两面性:一面是网络信息发送方,另一面是信息接受方。发送与接受同步或非同步交流,构成了交互的可能,这种交互功能又主要体现在信息反馈方面。(4)可针对性选择投放目标;网络广告这种“合适目标受众”的指向性,将有利于定位播送的形成,它能锁定特定国家和地区以及民族受众的个体或群体。(5)信息可供自愿选择;增加品牌认知和顾客忠诚、有助于建立用户数据库、对多种广告活动和价格模式进行测试和调研、跟踪分析顾客的兴
2020-05-31 11:01:17
770
原创 C++多态
一、什么是多态多态:是在不同的继承关系的类对象,调用同一函数,产生不同的行为。多态产生的两个条件:1、必须通过基类的指针或者引用调用虚函数2、被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写虚函数虚函数:即被virtual修饰的函数叫做虚函数二、重写:C++中的多态性是通过虚函数的重写实现的,虚函数允许派生类重新定义成员函数,派生类重新定义基类中函数的做法叫做重写或者覆盖。需要注意的是:在派生类中重写基类的虚函数的时候,派生类的虚函数前可以不加virtual关键字,虽然能够构成
2020-05-26 15:56:56
162
原创 C++中static关键字与const关键字的区别
一、static关键字static 声明的变量内存只分配一次,static 变量存放在数据区,程序结束后才会释放。函数体内static变量的作用范围为该函数体,不同于auto(局部变量在栈内存区存放),该变量(static)只被分配一次,因此它的值在下一次调用时依然可以维持上次结果的值。模块内声明的static全局变量,可以被这个模块内所有的函数所调用,不可被模块外的函数所调用。模块内声明的static函数,可以被该模块内的函数进行调用,模块外的函数不可调用它。在类中static成员
2020-05-19 15:21:22
767
原创 菱形继承、菱形虚拟继承以及虚拟继承实现的原理
菱形继承以及菱形虚拟继承什么是单继承:一个子类有一个直接父类,这个继承关系为单继承什么是多继承:一个子类有两个或两个以上的直接父类,这个继承关系为多继承。菱形继承是多继承的一种特殊情况如图:从上图可以看出来,在Assiatant(助理)中,person成员会有两份,会形成数据的二义性和数据冗余的问题。代码分析:#include<iostream>#include&l...
2020-04-22 10:40:45
347
原创 数组指针与指针数组
数组指针与指针数组数组指针:什么是数组指针:能够指向数组的指针。定义一个int (*p)[10],首先()的优先级高于[]所以p首先是一个指针,指向的是一个整形的一维数组,所以是数组指针。数组指针是一个指针不是数组因为数组指针指向的是数组,数组指针中存放的是数组的地址数组指针的使用:二维数组的传参:#include<stdio.h>#include<stdlib...
2020-04-19 16:22:55
367
2
原创 C++ 继承
C++ 继承一、什么是继承继承实际上是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,产生的新的类,称为派生类。继承是类设计层次的复用继承关系public继承protected继承private继承二、继承基类访问方式的变化当类成员是基类的public成员。public继承,在派生类中是public成员;protecte...
2020-04-14 15:28:56
298
1
原创 传输层---TCP协议与UDP协议
传输层之—TCP协议与UDP协议传输层协议:TCP协议和UDP协议是属于传输层协议传输层功能主要是:负责端与端的数据传输TCP协议:传输控制协议–面向连接、可靠传输、面向字节流UDP协议:用户数据报协议–无连接、不可靠、面向数据报UDP协议:一、无连接,不可靠:客户端只需要知道服务端的地址信息就可以直接发送数据,并且不会关心数据是否已经到达。二、面向数据报:1、 特性取决于UD...
2020-04-12 16:18:33
529
3
原创 Linux-----【网络部分】TCP协议三次握手与四次挥手
TCP协议–三次握手与四次挥手TCP协议的格式:TCP协议的格式:端口:源端口/目的端口 负责端与端直接数据传输序号 确认序号:进行包序管理长度:头部长度,以四字节为单位,表示TCP头部最少20字节,最大60字节标志位:URG:紧急指针是否有效。为1,表示某一位需要被优先处理ACK:确认号是否有效,一般置为1.PSH:提示接收端应用程序立即从TCP缓冲区把数据读走。RST:对...
2020-04-10 11:00:53
232
原创 数据结构排序算法 快排(左右指针法)
左右指针法基本思路:首先对于一个数组(a)定义一个左右指针left,right。定义一个key,让key 等于数组最右边元素的值,然后记录其下标key_index;如果定义的key为最右边,左指针先移动,当左指针遇到比key大的停止,然后右指针向左移动,找比key小的值,然后交换a[left], a[right],当left 等于 right 时,交换a[left]与a[key_index]...
2020-04-08 16:29:14
891
3
原创 圆圈中最后剩下的数字
圆圈中最后剩下的数字—约瑟夫问题题目描述:0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如:0、1、2、3、4五个数字组成一个圆圈,从数字0开始删除第三个数,依次删除的前四个数字是2、0、4、1,所以圆圈中剩余最后一个数是3.约瑟夫环问题N个人围成一个圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报...
2020-04-07 16:05:40
355
2
原创 数组中数字出现的次数
数组中数字出现的次数题目描述:一个整型数组里除了两个数字之外,其他数字都出现两次。要求:时间复杂度为O(n),空间复杂度为O(1)思路:数组中只有两个出现次数为一次的数,其余数都是两两出现,本题可以通过有异或来进行求解;首先可以将数组里面的数进行一次异或,得到的结果是两个只出现一次的数的异或值;第二步,找出异或后二进制位的第一个位为1的位,然后将数组中的值进行划分,这样会将这两个数分别划分在...
2020-04-01 15:14:11
258
原创 C++ 缺省参数
缺省参数缺省参数就是在声明函数的某个参数时,为之指定一个默认值,如果在调用该函数时,采用默认值,你就无需在指定该参数。使用规则调用该函数时,你只能从最后一参数开始进行省略,如果你要省略一个参数时,他后面所有参数必须全部省略。带缺省值的必须放在参数表的最后面,缺省值必须是常量。缺省参数分为两类:一类是全缺省,一类是半缺省全缺省:全缺省的所有参数都带默认值,在不传参的情况下,编译器默认参数列...
2019-07-31 16:26:08
244
原创 C++ 初识命名空间
C++命名空间命名空间:是为了防止名字冲突而把一系列的类型、变量、函数放在一起的一种方式,在作用域范围内使用命名空间就可以访问该命名空间内定义的符号。它可以解决c语言命名冲突的问题,C++命名空间即可以定义函数,也可以定义变量。定义命名空间关键字是 namespace ,后面加命名空间的名称。例如:namespace sa{ //里面既可以是函数,也可以是定义的变量 //code;...
2019-07-31 15:39:10
243
原创 数据结构排序算法 堆排
堆排堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是 通过堆来进行选择数据。需要注意的是排升序要建大堆,排降序建小堆堆排序首先在于建堆,建大堆还是建小堆取决于排序是升序还是降序。堆在物理意义上是一个数组,逻辑意义上是一个完全二叉树。初始化堆后,然后从堆尾第一个非叶子节点调整堆,(调整大顶堆) for (int i = (n - 2) ...
2019-07-30 14:39:48
150
原创 第一篇博客
自我介绍大家好,我是一名初入计算机编程的菜鸟,现在在西安一所高校就读,目前大二。对于这一专业,充满了许多期待。对于现在的生活,编程已经成为生活中不可或缺的部分,当然对于编程本身也有其独特的魅力,对于编程,主要还是体现在动手能力上,只有时间才能带来丰富的编程知识与经验,一旦投入其中,就会体会到与bug相抗衡的感受,痛苦并且快乐。当然对于这样一个专业,我也有自己的小打算,既然选择一行,那么就精于一...
2019-05-17 18:53:17
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人