自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 String, StringBuilder, StringBuffer 区别及使用

一,String, StringBuilder, StringBuffer 区别String: 字符串常量StringBuffer: 字符串变量(线程安全)StringBuilder: 字符串变量(非线程安全)在大多数情况下三者在执行速度方面的比较:StringBuilder > StringBuffer > String。对 String 而言,其对象是不可变的,因此每次对其对象进行修改操作时都相当于产生了一个新的String 对象,然后将指针指向新的 String 对象,影响系统

2022-01-03 16:44:47 243

原创 clone()方法深拷贝与浅拷贝

JAVA中除了8种基本类型传参数是值传递外,其他的类对象传参数都是引用,如果直接使用clone()方法,只能完成对象的浅复制,若想实现深复制,则要重写clone()方法。一,浅复制class Employee implements Cloneable{ private int age ; private String name; private Date date; public Employee(int age, String name, Date date) {

2022-01-03 15:57:50 729

原创 Java中Integer使用==时遇到的问题及包装类

1,问题说明public class Test { public static void main(String[] args) { Integer n1 = 127; Integer n2 = 127; System.out.println(n1 == n2);//输出结果为true Integer n3 = 128; Integer n4 = 128; System.out.println(n3

2021-09-27 20:44:55 1392

原创 javadoc命令生成个人API文档

JDK1.8(即JDK8)的API文档页面如下:官方文档链接:https://docs.oracle.com/javase/8/docs/api/如果我们想给自己写的类也建立相同格式的文档,就需要用到javadoc了。1,javadoc书写建立的类和方法如上图,我们可以为类 Hello 添加 javadoc 注释,也可以为方法 getString() 单独添加javadoc注释。为类添加javadoc注释,在类的上方输入“/**”后回车,IDEA将自动补全其余部分,如下图。我们可以在注释内

2021-09-23 12:49:57 179 1

原创 常见DOS命令及自定义DOS命令

一,打开命令行窗口的方式1,开始–>Windows系统–>命令提示符2,Win键+R键调出运行窗口后输入cmd3,文件管理器地址栏中写入cmd选中地址栏中内容后,可以在其前面或后面加入cmd(注意cmd与原地址间要有空格),也可以直接把地址内容替换成cmd,这样进入命令行窗口后直接就在当前文件的地址。二,常见DOS命令1,cd命令(1)盘符切换不同盘符间切换时,要使用 “cd /d 目标盘符名:” 的格式,注意中间的 “/d”,遗漏会导致切换失败。(2)进入特定文件夹进

2021-09-22 22:52:11 4613 1

原创 原码的一位乘法和两位乘法

原码一位乘法运算规则:1,符号位通过对被乘数和乘数的符号位作异或得到,不参与乘法运算。2,数值部分使用被乘数和乘数的绝对值进行运算。3,一共要经过n次加法和n次右移位。(n指的是乘数小数点后的位数,即尾数的位数,如 0.1101,小数点后有4位,n就等于4)。4,移位时进行的是逻辑移位,右移后空出的位置补0。举例说明:设 x = -0.1101,y = +0.1011,使用原码一位乘法求 x * y。符号位:p = 1⊕0 = 1;所以 x * y = 1.10001111。原码两位

2021-04-11 10:03:45 8414 5

原创 打印从1到最大的n位数:使用大数

题目:给定一个正整数 n,打印从 1 到最大的 n 位数。例如:n = 2, 则打印从 1 到 99;n = 3, 则打印从 1 到 999。思路:在 n 比较小(比如n=1或n=2或n=3)时,可以使用一个循环简单的解决问题,但当 n 比较大时,打印的数字可能会超出 int 或 long所能表示的范围,这是就应该使用string来表示大数以解决问题。代码:#include<iostream>#include<vector>#include<cmath&gt

2021-04-03 15:07:32 147

原创 Leetcode 1299:将每个元素替换为右侧最大元素

题目:思路:每个元素都要被它右边最大的元素替换,那么主要问题就是怎么方便的找到其右边最大的元素,这里创建一个结果向量来保存结果数据,先将结果向量的最后一个元素置为 -1,再从右向左操作,当要更新结果向量第 i 个位置的值时,要看到其第 i+1 个位置保存的是原向量第 i+1 个位置之后的元素的最大值,因此直接将结果向量第 i+1个位置的数值与原向量第 i+1 个位置的值比较,其中较大值就是结果向量第 i 个位置的值。代码实现:vector<int> replaceElements(ve

2021-04-03 14:12:56 111

原创 布赖恩·克尼根位计数算法说明及简单使用

1,算法说明一个数 number,若对 number 与 number-1 做与运算,即 number&(number-1) 时,则number的 二进制表示中最右边为 1 的位会被置零。例如:number = 44,其二进制为 101100number = number&(number-1) = 40, 其二进制为 101000,最右边的 1 被置零;number = number&(number-1) = 32, 其二进制为100000,最右边的 1 被置零;numbe

2021-03-19 16:43:06 207

原创 java 数字与字符串间的转换

一,字符串转换为数字1,Integer.parseInt(String s),System.out.println(Integer.parseInt("56")); //将字符串转换转换为10进制数,输出56System.out.println(Integer.parseInt("10011",2)); //将表示二进制的字符串转换为10进制数,输出19System.out.println(Integer.parseInt("FF",16)); //将表示16进制的字符串转换为10进制数,输

2021-03-19 16:28:06 210

原创 C++数字转字符串 to_string()

头文件:#includeto_string() 可以将整数、浮点数等数字转换为字符串并返回得到的字符串(注意:只有支持C++11标准的编译器才可以编译成功)调用形式:string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string t

2021-03-16 20:58:37 43665 1

原创 C++numeric头文件功能详解

文章目录一,accumulate二,adjacent_difference三,inner_product四,partial_sum五,iota本文代码摘自 cplusplus.com一,accumulate1,调用形式:(1)默认形式调用template <class InputIterator, class T> T accumulate (InputIterator first, InputIterator last, T init);(2)以指定计算方式 binary_

2021-03-14 11:22:01 539

原创 C++ istringstream,ostringstream,stringstream的使用

文章目录一,基本介绍二,istringstream三,ostringstream四,stringstream一,基本介绍头文件:#include istringstream类用于执行C++风格的串流的输入操作,支持 >> 操作。ostringstream类用于执行C风格的串流的输出操作,支持 << 操作。stringstream类可以同时用于C风格的串流的输入输出操作, 同时支持 >> 和 << 操作,所以,stringstream将上述两个类的功能

2021-03-10 13:43:17 577

原创 C++实现基数排序

#include<iostream>#include<string.h>#include<cmath>using namespace std;#define MaxSize 100void RadixSort(int arry[], int size) //对三位数的整形数进行基数排序,size为数组大小 { int temp[10][MaxSize]; //设置10个箱子,分别表示数字 0~9,每个箱子最多装 MaxSize个数据 int c...

2021-02-28 19:00:04 250

原创 C++实现归并排序

#include<iostream>using namespace std;void Merge(int arry[], int left, int mid, int right) //合并 { int *temp = new int[right-left+1]; //中转数组 int p = left; int q = mid + 1; int i = 0; //记录temp数组的第一个空位置 while(p<=mid&&q<..

2021-02-28 18:56:52 183

原创 C++实现堆排序

#include<iostream>using namespace std;void HeapAdjust(int arry[], int i, int size) //大小为size的数组arry,将其中以位置i为根节点的子树转换为小根堆 { for(int j=2*i+1; j<size; j=j*2+1) //将i结点的数据与其左右孩子比较,若其小于左右孩子,则与左右孩子中的较小值交换 { int x = arry[i]; if(j+1<s

2021-02-28 18:48:12 181

原创 C++实现快速排序

一,快速排序说明举例:21,25,49,26,16,8选择第一个元素21为中心元素,将比21小的元素放到前面,比21大的元素放到后面,则调整为:8,16,21,25,49,26对21之前的元素进行如上操作,则之前的部分调整为:8,16,无法再调整;对21之后的元素进行如上操作,则之后的部分调整为:25,49,26,25之前无元素,则只对25之后的元素进行如上操作,调整为:26,49,无法再调整。排序完成。二,快速排序实现#include<iostream>using name

2021-02-28 18:08:13 1091

原创 C++实现冒泡排序和选择排序

文章目录一,冒泡排序二,选择排序一,冒泡排序#include<iostream>using namespace std;void BubbleSort(int arry[], int size){ int flag = 0; //判断某一趟是否发生了交换,若没有发生,则排序结束 for(int i=0; i<size-1; ++i) //一共需要n-1趟 { flag = 0; for(int j=0; j<size-i-1; ++j) {

2021-02-28 17:52:51 372

原创 C++实现插入排序:直接插入,二分插入,希尔排序

文章目录一,插入排序及其种类二,直接插入排序三,二分插入排序四,希尔排序一,插入排序及其种类二,直接插入排序将未排序的元素与已排序的元素一一比较,来确定插入位置。#include<iostream>using namespace std;void InsertSort(int arry[], int size) //直接插入排序,size表示数组大小 { for(int i=1; i<size; ++i) { if(arry[i]<arry[i-1])

2021-02-28 17:41:20 215

原创 C++实现邻接表无向图及其两种遍历

#include<iostream>#include<string.h>#include<queue>#define MaxSize 100 //最大结点数 using namespace std;typedef struct ArcNode //存储与结点相连的边 { int adjvex; //该边所指向的顶点的位置 ArcNode* nextarc; //指向下一条与结点相连的边 int weight; //边的权重 }ArcNode;

2021-02-26 17:18:55 796 1

原创 C++实现邻接矩阵无向图及其两种遍历

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-02-26 17:17:35 740

原创 数据结构图的相关概念

文章目录一,图的定义和术语二,图的存储结构1,邻接矩阵存储2,邻接表三,图的遍历1,深度优先遍历2,广度优先遍历一,图的定义和术语二,图的存储结构1,邻接矩阵存储2,邻接表三,图的遍历1,深度优先遍历2,广度优先遍历...

2021-02-22 12:40:12 101

原创 哈夫曼树相关概念及C++实现

文章目录一,哈夫曼树基本概念二,构造哈夫曼树三,哈夫曼编码四,C++实现哈夫曼树一,哈夫曼树基本概念二,构造哈夫曼树三,哈夫曼编码四,C++实现哈夫曼树#include<iostream>using namespace std;#define MaxWeight 100typedef struct HTNode{ int weight; int parent, lch, rch; bool visit; }HTNode, *HuffmanTr

2021-02-19 16:53:51 165 1

原创 C++实现二叉树的链式存储及非递归遍历

#include<iostream>#include<queue>#include<stack>using namespace std;#define MaxSize 100typedef struct TreeNode{ int data; TreeNode* left; TreeNode* right; TreeNode() { data = 0; //数据域 left = NULL; right = NULL; }}Tre

2021-02-18 18:02:13 240

原创 C++实现二叉树的链式存储及三种递归遍历

文章目录#include<iostream>#include<queue>#include<stack>using namespace std;#define MaxSize 100typedef struct TreeNode{ int data; TreeNode* left; TreeNode* right; TreeNode() { data = 0; //数据域 left = NULL; right = NULL; }

2021-02-18 18:01:02 307

原创 C++实现二叉树的顺序存储及非递归遍历

文章目录#include<iostream>#include<stack>#include<queue>#include<string.h>using namespace std;#define MaxSize 101class BinTree{ public: BinTree(); void CreatTree(); //生成二叉树 void PreOrderTraverse2(int i=1); //先序非递归遍历

2021-02-18 17:59:36 394 1

原创 C++实现二叉树的顺序存储及三种递归遍历

文章目录#include<iostream>#include<stack>#include<queue>#include<string.h>using namespace std;#define MaxSize 101class BinTree{ public: BinTree(); void CreatTree(); //生成二叉树 void PreOrderTraverse1(int i=1); //先序递归遍历

2021-02-18 17:49:24 577 1

原创 树,二叉树,森林的相关知识

文章目录一,树的相关概念1,树的定义2,树的基本术语二,二叉树的相关概念1,二叉树定义2,满二叉树3,完全二叉树4,二叉树的两种存储方式5,二叉树的性质6,遍历二叉树一,树的相关概念1,树的定义2,树的基本术语二,二叉树的相关概念1,二叉树定义2,满二叉树3,完全二叉树4,二叉树的两种存储方式5,二叉树的性质6,遍历二叉树例子:根据二叉树序列确定二叉树。...

2021-02-17 14:57:57 144 1

原创 C++实现顺序队列和链队列

文章目录一,队列的相关概念1,队列的定义2,队列的应用二,顺序队列实现三,链队列实现一,队列的相关概念1,队列的定义2,队列的应用二,顺序队列实现#include<iostream>using namespace std;#define MaxSize 100template<typename T>class Queue{ private: int front; //队头 int rear; //队尾 T *list; public:

2021-02-14 21:14:43 271

原创 C++实现顺序栈和链栈

文章目录一,栈的相关概念1,栈的定义和特点2,入栈和出栈3,栈的应用二,顺序栈的实现三,链栈的实现一,栈的相关概念1,栈的定义和特点2,入栈和出栈3,栈的应用二,顺序栈的实现#include<iostream>using namespace std;#define MaxSize 100template<typename T>class Stack{ public: Stack(); bool IsEmpty(); int Ge

2021-02-14 18:54:23 160

原创 C++实现线性表的链式表示

文章目录一、链表相关概念1,相关名词2,链表的特点3,链表分类4,单链表表示二、单链表的C++实现一、链表相关概念1,相关名词2,链表的特点3,链表分类4,单链表表示二、单链表的C++实现typedef struct{ string name; int age;}Student; //定义结点的数据域 typedef struct LNode{ Student data; //结点的数据域 LNode* next; //结点的指针域 }LNode, *

2021-02-13 19:03:51 386

原创 C++实现线性表的顺序表示

线性表的顺序表示C++实现一,线性表的定义和特点1,线性表的定义2,线性表的特点二,线性表的顺序存储表示1,顺序存储定义2,顺序存储举例3,顺序存储优缺点三,线性表顺序表示的实现一,线性表的定义和特点1,线性表的定义2,线性表的特点二,线性表的顺序存储表示1,顺序存储定义2,顺序存储举例3,顺序存储优缺点三,线性表顺序表示的实现这里以图书为基本元素来实现一个保存图书信息的线性表。#include<iostream>using namespace std;#d

2021-02-10 19:13:36 312

原创 简单的最小数C++实现

文章目录一、题目描述二、解题思路三、代码实现一、题目描述二、解题思路该问题的一个简单解题思路,就是从左到右依次判断每一位数,若该位上的数字比后一位的数字大,则删掉该位置上的数字,然后回到开头继续执行判断操作,等到删够 k 位后,处理一下开头可能会有的 0 ,便可得到结果。如果没有数字比它的后一位大,即无法通过比较大小来删除,且已删除的位数不足 k,则从后往前依次删除,直到删够 k 位,处理一下开头可能会有的 0 ,便可得到结果。举例如下:n = 5, k = 3;a = 21053;第一次判

2020-11-19 15:32:35 1251

原创 Java中与日期时间相关的类和方法

文章目录一、currentTimeMillis()方法二、Date类1.引入库2.读入数据总结一、currentTimeMillis()方法System 类中的方法currentTimeMillis()方法可以返回从 GMT1970 年 1 月 1 日 00 : 00 : 00 开始到当前时刻的毫秒数。System.currentTimeMillis(); //返回值为long类型二、Date类1.引入库代码如下(示例):import numpy as npimport pandas as

2020-11-12 10:39:12 284 2

原创 Java中数组及相关类的使用

文章目录一,普通数组1,新建数组:2,访问数组:3,foreach循环遍历数组:4,数组的复制:5,可变长参数列表:6,数组的排序:二,Arrays类一,普通数组1,新建数组:elementType[ ] arrayRefVai;(元素类型 [] 数组名)例如:double[] mylist = new double[10]。2,访问数组:(1)用下标访问某个数据,如 mylist[0] 表示 mylist 数组的第一个元素。(2)获取数组的长度:int n = mylist.length,

2020-11-04 19:16:32 515

原创 java中String类的使用

java中String类的使用(均摘自《java语言程序设计》)文章目录java中String类的使用(均摘自《java语言程序设计》)一,字符串的简单使用二,String对象的比较方法三,获取字符串中的字符下标或者子串下标四,字符串的替换和分隔一,字符串的简单使用功能方法获得字符串长度:s.length();返回指定位置的字符:s.charAt(index);连接两个字符串法1:s1.concat(s2)连接两个字符串法2:s3 = s1 + s2

2020-11-03 23:28:32 193

原创 java中生成随机数

java中生成随机数一、具体方法1,java.util.Random类2,Math.random()方法一、具体方法1,java.util.Random类可以使用java.util.Random类构造一个随机数生成器,构造函数有两种:(1)Random() :创建一个新的随机数生成器(2)Random(long seed) :使用单个long种子创建一个新的随机数生成器。示例:(1)这里用Random类的无参构造函数生成了一个随机生成器 r ,使用nextInt(100),可以产生[0,1

2020-10-25 16:41:04 438

原创 java鼠标事件,单击左键画圆,右键画矩形,双击左键清除

java鼠标点击事件举例题目描述一、基本思路二、引用的类分析三、代码实现题目描述编写Java程序,创建一个窗体,并实现交互。在窗体内“单击鼠标左键”,在光标处绘制一个“绿圆”;窗体内“单击鼠标右键”,在光标处绘制一个“红色方框”;窗体内“双击鼠标左键”,清空所有已画“圆”和“方”。一、基本思路题目属于简单的窗体交互,主体代码是给面板添加鼠标事件监听器,然后实现该监听器。二、引用的类分析1,这里要实现在窗口作画,需要引入Graphics类。2,实现鼠标双击事件,可以通过事件源e.getClic

2020-10-13 22:48:39 2841 1

原创 合法栈输出

合法栈输出一,基本思想二、过程分析三,代码实现一,基本思想既然要求合法栈输出,那就用栈作为中间容器来进行操作,输出的结果自然满足题目。二、过程分析三,代码实现#include<iostream>#include<queue>#include<stack>using namespace std;int n;void output(queue<int> inqueue, stack<int> sta, queue<int&

2020-10-07 23:43:27 467

原创 C++输出有向无环图的所有拓扑序列

输出有向无环图的所有拓扑序列1,基本思想2,代码实现1,基本思想输出有向无环图的其中一个拓扑序列比较简单,输出所有的拓扑序列则要用到回溯的思想和递归的方法。这里暂不对回溯法做解释。2,代码实现#include<iostream>#include<vector>using namespace std;#define Max 9999vector<int> result; //用来保存并输出拓扑结果int n, m; //n 为顶点数,

2020-10-04 21:59:10 2806 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除