自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Java 中的作用域有哪些?

在 Java 语言中,作用域是由花括号的位置决定的,它决定了其定义的变量名的可见性与生命周期。 在 Java 语言中,变量的类型主要有 3 种:成员变量、静态变量和局部变量。 类的成员变量的作用范围与类的实例化对象的作用范围相同,当类被实例化时,成员变量就会在内存中分配空间并初始化,直到这个被...

2020-07-04 00:30:54 16 0

原创 什么是B+树?[转]

目录 1B树与B+树的区别 2 B+树的特点 父子节点关系 叶子成链 卫星数据 3 B+树的好处 IO过程少 查询稳定 便于范围查找 4 总结 B+树的特征 B+树的优势 1B树与B+树的区别 一个m阶的B树具有如下几个特征: 根结点至少有两个子女。 每个中间节点都...

2019-09-30 20:39:14 68 0

原创 如何优化数据库?[转]

1 数据库结构优化 范式优化:表的设计合理化(符合3NF),比如消除冗余(节省空间); 反范式优化:比如适当加冗余等(减少join) 拆分表:分区将数据在物理上分隔开,不同分区的数据可以制定保存在处于不同磁盘上的数据文件里。这样,当对这个表进行查询时,只需要在表分区中进行扫描,而不必进行全表...

2019-09-21 08:18:20 81 0

原创 Java的构造函数详解

什么是构造函数 构造函数是一种特殊的函数,用来在对象实例化时初始化对象的成员变量。在Java语言中,构造函数具有以下特点: 构造函数必须与类的名字相同,并且不能有返回值(连void也不能写)。 每个类可以有多个构造函数。当开发人员没有提供构造函数时,编译器在把源码编译成字节码的过程中会提供一...

2019-08-18 14:50:30 336 0

原创 Java程序的初始化顺序

在Java语言中,当实例化对象的时候,对象所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化之后,才会调用对象所在类的构造函数创建对象。 Java程序的初始化一般遵循三个原则: 静态对象(变量) 优先于 非静态对象(变量) 初始化。 静态对象(变量)只初始化一次,而非静态对...

2019-08-18 14:06:49 73 2

原创 public static void main (String[] args) 详解

1 public static void main (String[] args) public static void main (String[] args) 是Java程序的入口方法,JVM在运行程序时,会先查找 main() 方法。 public是权限修饰符,表明任何类或对象都可以访问...

2019-08-18 13:45:56 352 0

原创 UDP协议收发数据 JAVA代码实现

客户端代码: /* UDP协议发送数据: 1.创建发送端Socket对象。 2.创建数据,并把数据打包。 3.调用Socket对象的发送方法发送数据包。 4.释放资源。 */ public class sendDemo { public static ...

2019-06-10 22:01:05 635 0

原创 堆排序Java代码实现

堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 算法描述 将初始待排序关键字序列 (R1,R2….Rn) 构建成大顶堆,此堆为初始的无序区; 将堆顶元素...

2019-06-01 17:24:16 1639 3

原创 快速排序Java实现

快速排序 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 算法描述 快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下: 从数列中...

2019-06-01 16:25:38 2483 0

原创 归并排序Java代码实现

归并排序 和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序...

2019-06-01 15:41:00 1349 0

原创 希尔排序Java代码实现

希尔排序 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增...

2019-05-31 22:44:56 1357 0

原创 插入排序Java代码实现

插入排序 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 算法描述...

2019-05-31 21:38:59 935 0

原创 选择排序Java代码实现

选择排序 表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间。 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小元素,存放到已排序序列的末...

2019-05-31 20:58:15 678 0

原创 冒泡排序Java代码实现

冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法描述 比较相邻...

2019-05-31 20:36:29 4198 0

原创 实验2-2-8 阶梯电价 (15 分)

为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。 输入格式: 输入在一行中给出某用户的月用电量...

2019-03-20 16:24:27 963 0

原创 实验2-2-4 计算分段函数[2] (10 分)

本题目要求计算下列分段函数f(x)的值: 注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。 输入格式: 输入在一行中给出实数x。 输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。 输入样例1: ...

2019-03-20 16:24:21 1683 0

原创 实验2-2-3 计算存款利息 (10 分)

本题目要求计算存款利息,计算公式为interest=money×(1+rate)​year​​−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。 输入格式: 输入在一行中顺序给出三个正实数money、year和rate,以空格...

2019-03-19 19:39:18 2381 0

原创 实验2-1-7 整数152的各位数字 (10 分)

本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。 输入格式: 本题无输入。 输出格式: 按照以下格式输出: 152 = 个位数字 + 十位数字*10 + 百位数字*100 Code: #include <stdio.h> int main(voi...

2019-03-19 19:28:53 5684 0

原创 实验2-1-5 将x的平方赋值给y (5 分)

假设x的值为3,计算x的平方并赋值给y,分别以“y=x∗x”和“x∗x=y”的形式输出x和y的值。 输入格式: 本题无输入 输出格式: 按照下列格式输出代入x=3的结果: y = x * x x * x = y Code: #include <stdio.h> in...

2019-03-19 19:22:41 4330 0

原创 实验2-1-4 计算平均分 (5 分)

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均成绩(结果按整型输出)。 输入格式: 本题无输入 输出格式: 按照下列格式输出结果: math = 87, eng = 72, comp = 93, average = 计算所得的平均成...

2019-03-19 19:19:48 714 0

原创 实验2-1-3 计算物体自由下落的距离

一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒​2​​。 输入格式: 本题目没有输入。 输出格式: 按照下列格式输出 height = 垂直距离值 结果保留2位小数。 Code: #include <stdio.h...

2019-03-19 19:12:00 351 0

原创 实验2-1-1 计算摄氏温度 (5 分)

实验2-1-1计算摄氏温度(5分) 本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 输入格式: 本题目没有输入。 输出格式: 按照下列格式输出 fahr = 100, celsiu...

2019-03-19 18:47:50 1043 0

原创 实验1-8 输出倒三角图案 (5 分

本题要求编写程序,输出指定的由“*”组成的倒三角图案。 输入格式: 本题目没有输入。 输出格式: 按照下列格式输出由“*”组成的倒三角图案。 * * * * * * * * * * Code : #include <stdio.h> int main...

2019-03-19 18:42:05 439 0

原创 实验1-6 输出带框文字 (5 分)

本题要求编写程序,输出指定的带框文字。 输入格式: 本题无输入 输出格式: 按照下列格式输出带框文字。 ************ Welcome ************ Code: #include <stdio.h> int main(void) { ...

2019-03-19 18:34:54 545 0

原创 实验1-5 输出菱形图案 (5 分)

本题要求编写程序,输出指定的由“A”组成的菱形图案。 输入格式: 本题无输入 输出格式: 按照下列格式输出由“A”组成的菱形图案。 A A A A Code: #include <stdio.h> int main(void) { printf(&...

2019-03-19 18:33:32 765 0

原创 实验1-4 输出三角形 (5 分)

本题要求编写程序,输出指定的由“*”组成的三角图案。 输入格式: 本题无输入 输出格式: 按照下列格式输出由“*”组成的三角图案。 **** *** ** * Code: #include <stdio.h> int main(void) { int i, j...

2019-03-19 18:30:34 691 0

原创 类的练习2 —— 贷款

首先,写出一个UML类图。   然后“头文件”处,写类的定义,名为 “Loan.h”。 #pragma once class Loan { public: Loan(); //默认构造函数 Loan(double rate, int years, double amount); /...

2019-01-17 17:46:42 155 0

原创 #ifndef 和 #define 避免多次包含

在C++中,原语 #ifndef 和 #deine 可以用来避免头文件被多次包含。我们称之为“包含保护”。 只需在头文件中添加3行语句即可实现: #ifndef CIRCLE_H #define CIRCLE_H class Circle { public: double radius; ...

2019-01-16 20:58:28 480 0

原创 类定义和类实现的分离

C++允许将类的定义和实现分离。类定义描述了类的“约定”,而类实现则实现了这一约定。类定义简单地列出所有数据域、构造函数原型和函数原型,类实现给出构造函数和成员函数的实现。 两者可以置于分离的文件中,两个文件应该使用相同的名字,但具有不同的扩展名。类定义文件的扩展名为 .h( h意思为头 ),类...

2019-01-16 19:56:59 1577 0

原创 构造函数

构造函数是一种特殊的函数,与其他函数相比有3个不同点: 构造函数的名字必须与类名相同。 构造函数没有返回类型 —— 即便返回void也不可以。 在创建对象时,构造函数被调用,它的作用就是初始化对象。   与一般函数相类似,构造函数可以被重载,这方便了我们用不同初始数据创建对象。 一个类通...

2019-01-16 19:51:26 71 3

原创 类的练习1 —— 打印圆的面积

在面向对象程序设计中,一个对象表示现实世界中一个独一无二的实体。 相同类型的对象用一个通用的类来定义。一个类是指一个模板、蓝图或者约定,定义了对象具有什么样的数据域和函数。 一个对象就是一个类的实例,我们可以创建一个类的多个实例。   对于类模板和对象的图示,我们可以用UML(Unifie...

2019-01-16 19:36:39 271 0

原创 【自顶向下】设计一个打印当月日历的程序

打印当月日历,可以被分为两个子问题:获取用户输入、打印日历。 使用cin来读取输入,而打印日历再次分为两个子问题:打印日历头、打印日历主体。 日历头又包含:月份、年份、星期。 打印日历体需要知道:当月第一天是星期几、当月有多少天、哪一年是闰年、每个月有多少天。 根据上面四步,给出思维导图...

2019-01-12 15:38:39 269 1

原创 生成随机数的 sand() 与 srand()

需要使用 #include &lt;cstdlib&gt; 头文件中的rand()函数来生成随机数。这个函数返回一个在 0~RAND_MAX 之间的随机整数。RAND_MAX 是一个平台决定的常数。例如,在 Visual C++ 中,RAND_MAX 是32767. rand()...

2019-01-10 20:34:57 93 0

原创 06-图1 列出连通集

给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0&lt;N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出...

2018-10-31 11:18:32 134 0

原创 习题10-8 递归实现顺序输出整数

本题要求实现一个函数,对一个整数进行按位顺序输出。 函数接口定义: void printdigits( int n ); 函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。 裁判测试程序样例: #include &lt;stdio.h&a...

2018-10-29 22:24:12 978 2

原创 习题10-7 十进制转换二进制

本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include &lt;stdio.h&gt; void ...

2018-10-29 22:23:40 1020 0

原创 习题10-6 递归求Fabonacci数列

本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下: f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。 函数接口定义: int f( int n ); 函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。...

2018-10-29 22:23:06 755 0

原创 习题10-5 递归计算Ackermenn函数

本题要求实现Ackermenn函数的计算,其函数定义如下: 函数接口定义: int Ack( int m, int n ); 其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型 范围内。 裁判测试程序样例: #includ...

2018-10-29 22:22:29 1260 0

原创 习题10-4 递归求简单交错幂级数的部分和

本题要求实现一个函数,计算下列简单交错幂级数的部分和: f(x,n)=x−x​2​​+x​3​​−x​4​​+⋯+(−1)​n−1​​x​n​​ 函数接口定义: double fn( double x, int n ); 其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数...

2018-10-29 22:21:52 472 0

原创 习题10-3 递归实现指数函数

本题要求实现一个计算x​n​​(n≥1)的函数。 函数接口定义: double calc_pow( double x, int n ); 函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。 裁判测试程序样例: #include &lt;s...

2018-10-29 22:21:12 595 0

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