- 博客(35)
- 收藏
- 关注
原创 C语言基础1
我们可以通过以下三种方式来定义枚举变量1.先定义枚举类型,再定义枚举变量enum DAY {2.定义枚举类型的同时定义枚举变量enum DAY {3.省略枚举名称,直接定义枚举变量enum {实例2:使用for来遍历枚举的元素// 遍历枚举元素 for(day = MON;day <= SUN;day ++) {printf("枚举元素:%d \n" , day);} }实例3:枚举在 switch 中的使用。
2023-08-01 15:08:00
353
原创 Leetcode力扣刷题
704. 二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。class Solution { public int search(int[] nums, int target) { if (target < nums[0] || target > nums[nums.length - 1]){ return -1;
2022-05-25 08:57:27
502
原创 数据结构-链表
链表常见的基本数据结构有链表、栈、队列、树。链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑结构是通过链表中的指针连接次序实现的。链表是由一系列节点这组成,这些节点不必在内存中相连,每个节点由数据部分Data和链部分Next组成,Next指向下一个节点,这样当添加或删除时,只需要改变相关节点的Next的指向,效率较高。【链表在内存上不连续,字逻辑上连续】栈是限制插入和删除智能在一个位置上进行的表,【后进先出】队列只允许在front端进行删除操作,在
2022-04-06 21:01:21
582
原创 测试用例(3)
场景法概念:模拟用户操作软件时的场景,主要用于测试系统的业务流程。用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某这个动作的发生,观察事件的最终结果,从而发现需求中存在问题。用例场景:是通过描述流经用例路径来确定的过程。这个流经过程要从用例开始到结束便利其中所有的基本流和备选流。基本流:采用黑直线表示,是经过用例最简单的路径(无任何错,程序从开始知道执行结束)备选流:一个备选流可以从基本流开始,在某个特定条件下执行,然后重新加入基本流中,也可以起源于另一个备选流,或终止用例,不
2022-03-31 21:22:38
378
原创 测试用例(2)
1 测试步骤设计1.1 因果图法根据输入条件的组合、约束关系和输出调价的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法。 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。 而因果图因是一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。(逻辑模型)。 步
2022-03-29 21:11:34
135
原创 测试用例(1)
测试用例(1)1. 测试用例概述测试用例是为了达到最佳的测试效果或高效的揭露软件中隐藏的错误或精心设计的少量测试场景和测试数据。测试用例是一份关于具体测试步骤的文档, 描述了测试的输入数据、条件和配置,预期结果等。以最少的测试用例覆盖最多的测试场景。测试用例是在设计好的场景下运行,程序必须能够正常运行并都达到程序设计的要求,则测试用例执行通过,若不能正常运行,则代表发现了缺陷,测试人员将缺陷提交个开发人员,开发人员对其进行修复,在下一个版本测试人员进行回归测试,回归测试时执行的用例与发现缺陷时的
2022-03-24 20:56:39
989
原创 软件测试计划
软件测试计划在软件测试中,要明确的几个文档:测试计划:告诉测试人员要测什么测试方案:怎么去测测试需求跟踪矩阵:测试内容有哪些模块测试用例:细化测试模块1. 测试计划的概念编写测试计划:5W1Hwhat:明确测试范围和内容why:测试的目的who:测试的人员分配when:测试开始和结束的时间where:测试产出物保存的位置how:指出测试的方法和工具测试计划的定义:测试计划就是软件测试员与产品开发小组交流意图的主要方式测试计划过程的最终目的是交流软件测试小组的意图
2022-03-22 10:51:48
1105
原创 软件测试的原则和测试需求分析
软件测试的原则 1. 所有的测试都是以需求规格说明书为准的。 2. 软件测试必须基于“质量第一”的思想开展工作,如果时间与质量冲突,时间服从质量。 3. 事先定义好产品的质量标准,只要有了质量标准,才能根据测试结果,对产品质量进行分析和评估。 4. 软件测试应该尽早的介入软件开发过程。 5. 不能去穷举测试(测试时有条件限定的范围) 6. 专业的测试人员会更客观、更有效 7. 软件测试计划是做好软件测试工作的基础 8. 软件测试用例是设计出来的,不是写出来的。所根据测试的目的,采用相应的测试
2022-03-21 11:23:28
7264
1
原创 软件测试的分类
软件测试的分类1.按照开发阶段划分单元测试:又称模块测试,测试的是程序的最小单元:函数。从程序内部结构触发设计测试用例。单元测试是以**《详细设计说明书》**为准的。多个模块之间可以进行独立测试。集成测试:又称组装测试,在单元测试基础上,将程序模块进行有序的递增的测试。集成测试是以**《概要设计说明书》**为准的。集成测试检验程序单元或部位接口,逐步集成符合概要设计说明书的程序和系统。确认测试:又称有效性测试,在测试环境下测试,检测完整程序功能是否满足用户所有需求。系统测试:在真实环境下进行
2022-03-20 20:50:25
3816
原创 软件测试基本知识(2)
软件测试基本知识(2)1. 软件测试流程需求分析和评审 ---> 编写测试计划 ---> 制定测试方案 ---> 设计/编写测试用例 -----> 测试用例评审 ----> 执行测试用例 ----> 提交缺陷 ----> 测试分析和评审 ---> 提交测试总结报告 ----> 准备下一版本的测试 2. 软件测试过程模型概念:软件测试过程是一种抽象的模型,用于定义软件测试的流程和方法。一个标准的软件测试流程中,应该包含以下几个测试活动:需求分
2022-03-19 21:10:23
185
原创 软件测试基本知识(1)
软件测试基本知识(1)1. 基本概念 1. 软件缺陷的定义: 软件未实现产品说明中要求的功能 软件实现了产品说明书中指明不该出现的功能 软件实现了产品说明书未提到的功能 软件未实现产品说明书未提到但应该实现的功能 软件不易使用、难以理解,运行缓慢或者从测试员的角度看:最终用户会认为不好的软件总之,所有不满足需求或超出需求的都是缺陷。没有不存在缺陷的软件,只有迄今为止尚未发现的软件。2. 测试的定义:测试就是为了证明程序是有错的,测试就是为了发现问题,借助测试用例,发现预期结
2022-03-16 21:16:46
96
原创 Linux基本知识(2)
Linux基本知识(2)1. 线上查询命令 1. man:用来解释一个Linux命令的使用和注意事项 2. locate:用来定位文件和目录 3. whatis:用来解释某个Linux命令的含义2. 文件或者目录的压缩和解压缩操作1. bzip2:压缩文件,只保留压缩后的文件,源文件会删除 xxxx.bz22. bunzip2:解压缩文件,只保留解压缩后的文件,源文件会删除 3. gzip:压缩文件 xxxx.gz4. gunzip:解压缩文件5. tar:对文件和目录进行压
2022-03-16 10:12:13
609
原创 Linux系统基本知识(1)
Linux系统基本知识(1)1. Linux系统的特征 1. 多用户,多任务(允许多个用户同时使用,多个操作同时进行) 2. 其基本思想是:一切都是文件;每个文件都有确定的用途 3. 开源,免费的操作系统2. Liinux系统常见的目录结构 1. /:根目录 3. /boot:启动目录,内核的存放地(系统文件的存放地) 4. /etc:配置文件存放地 5. /tmp:程序产生的临时文件存放地 6. /home:用户的家目录 7. /lib:库文件目录(给程序或软件系统系统
2022-03-14 11:14:43
1018
原创 ununtun18.04安装ns-allinone-2.35
系统的更新 安装NS2必备软件包 sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo apt-get install build-essential sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev sudo apt-get install libxmu-d.
2021-07-25 19:18:14
328
原创 力扣905. 按奇偶排序数组
题目描述给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。实现代码1.暴力求解class Solution { public int[] sortArrayByParity(int[] A) { for(int i = 0; i < A.length;i++){ if(A[i] % 2 != 0){ //奇数
2021-04-23 20:29:42
89
原创 147. 对链表进行插入排序
题目描述对链表进行插入排序。插入排序算法插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。对链表进行插入排序的具体过程如下。首先判断给定的链表是否为空,若为空,则不需要进行排序,直接返回。创建哑节点 dummyHead,令 dummyHead.next = head。引入哑节点是为了便于在 head 节点之前插入节点。维
2021-04-21 21:20:41
149
原创 插入排序
插入排序1 基本介绍插入式排序(Insertion Sorting)属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。其基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。2 插入排序思路图:3 代码实现package zuoye;import java.
2021-04-17 20:19:55
102
原创 选择排序
选择排序1 基本介绍选择式排序(Select Sorting)也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。其基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换;第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换;第三次从arr[2]~arr[n-1]中选取最小值,与arr[2]交换,…; 第i次从arr[i-1]~arr[n-1]中选取最小值,与arr[i-1]交换,…; 第n-1次从arr
2021-04-17 20:16:08
71
原创 冒泡排序
冒泡排序1 基本介绍冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。2 图解分析3 代码实现package zuoye;import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { //
2021-04-17 20:11:05
70
原创 kruskal算法
克鲁斯卡尔算法克鲁斯卡尔算法是为了使生成树上边的权值之和达到最小,因此应使生成树中每一条边的权值尽可能小,具体做法:将图中所有边按权值递增顺序排序。先构造一个只包含n个顶点的子图。依次选取权值较小的边,但要求后面选取的边不能与前面选取的边构成回路,若构成回路则放弃该条边,再去选取后面权值较大的边。重复步骤3,在n顶点的图中选购n-1条边即可。代码实现#include<iostream>using namespace std;#define max 32767;//用邻接
2021-04-11 17:36:44
285
原创 最小生成树—prime算法
生成树一个连通图的生成树是该连通图的一个极小连同子图,它含有图中全部顶点,和构成一棵树的(n-1)条边。如果在一棵生成树上添加任何一条边,必定构成一个环,因为这条边使得它依附的那两个顶点之间有了第二条路径。一棵有n个顶点的生成树(连通无回路图)有且仅有(n-1)条边,但是,有(n-1)条边的图不一定都是生成树。如果一个图有n个顶点和小于(n-1)条边,则是非连通图;如果它有多于(n-1)条边,则一定有回路。如果图中任意两点都是连通的,那么图被称作连通图。如果此图是有向图,且双向都有路径,则称为强
2021-04-11 15:37:18
11707
1
原创 力扣15—三数之和(JAVA)
题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。双指针法求解class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> result = new ArrayList<>(); /
2021-04-10 20:53:14
112
原创 力扣01—两数之和(JAVA)
题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。解题方法:暴力法class Solution{ public static int[] method1(int[] nums, int target) { for (int i = 0; i < nums.length; i++) {
2021-04-08 19:59:31
183
原创 Huffman编码C实现
赫夫曼树(Huffman Tree),又称最优二叉树,是一类带权路径长度最短的树。假设有n个权值{w1,w2,…,wn},如果构造一棵有n个叶子节点的二叉树,而这n个叶子节点的权值是{w1,w2,…,wn},则所构造出的带权路径长度最小的二叉树就被称为赫夫曼树。树的带权路径长度指树中所有叶子节点到根节点的路径长度与该叶子节点权值的乘积之和,如果在一棵二叉树中共有n个叶子节点,用Wi表示第i个叶子节点的权值,Li表示第i个也叶子节点到根节点的路径长度,则该二叉树的带权路径长度 WPL=W1 x L1 + W
2021-04-07 10:50:40
262
原创 区块链笔记—区块链概述
区块链笔记—区块链概述区块链起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。1 概念定义区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchai
2021-03-24 17:10:42
557
原创 后缀表达式计算的代码实现
import java.util.ArrayList;import java.util.List;import java.util.Stack;public class PolandNotation { public static void main(String[] args) { //先定义一个逆波兰表达式 (3+4)×5-6 ===> 3 4 + 5 × 6 - String suffixExpression = "30 4 + 5 * 6 -"
2020-10-21 21:01:38
674
原创 栈实现综合计算器代码实现
public class Calculator { public static void main(String[] args) { //完成表达式的运算 String expression = "9800+2*6-2"; //先创建两个栈(数栈和符号栈) ArrayStack2 numStack = new ArrayStack2(10); ArrayStack2 operStack = new ArrayStack2
2020-10-21 20:59:50
114
原创 关于栈的代码实现
用数组模拟栈package Stack;import java.util.Scanner;public class ArrayStackDemo { public static void main(String[] args) { //测试栈的基本操作 //(1)先创建一个ArrayStack对象来表示栈 ArrayStack stack = new ArrayStack(4); String key = "";//写一个空串
2020-10-21 20:58:03
461
原创 单向环形链表之Josephu问题的实现代码
package LinkeList;public class Josephu { public static void main(String[] args) { //测试环形链表的构建与遍历是否正确 CircleSingleLinkedList circleSingleLinkedList = new CircleSingleLinkedList(); circleSingleLinkedList.addBoy(5);//加入5个小孩节点
2020-10-19 21:10:40
81
原创 IDEA打包时报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1
报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1解决方案:在pom.xml中添加 <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> .
2020-09-21 19:39:18
635
原创 Docker未启动错误
Docker未启动错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon此问题是因为Docker安装后未启动所致,执行以下命令启动docker:systemctl start docker.service运行docker ps代码,出现以下的结果则表示成功启动。[root@localhost ~]# systemctl start docker.service[root
2020-09-21 16:09:02
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人