自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【id:21】【1分】E. DS单链表--类实现

如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出单链表。注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据。每成功执行一次操作(插入或删除),输出执行后的单链表数据。第1行先输入n表示有n个数据,接着输入n个数据。每成功执行一次查找,输出查找到的数据。第2行输入要插入的位置和新数据。第3行输入要插入的位置和新数据。第1行输出创建后的单链表的数据。第4行输入要删除的位置。第5行输入要删除的位置。第6行输入要查找的位置。第7行输入要查找的位置。数据之间用空格隔开,

2023-06-19 16:03:27 299

原创 【id:20】【1分】D. DS顺序表之循环移位

顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。第3行输入移动方向和移动的位数,左移方向为0,右移方向为1。第4行输入移动方向和移动的位数,左移方向为0,右移方向为1。左移3位:4,5,6,1,2,3,与原数据对比。右移4位:3,4,5,6,1,2,与原数据对比。原数据:1,2,3,4,5,6。

2023-06-19 00:05:41 841

原创 【id:19】【1分】C. DS顺序表--合并操作

第1行先输入n表示有n个数据,接着输入n个数据,表示第1个序列,要求数据递增互不等。第2行先输入m表示有m个数据,接着输入m个数据,表示第2个序列,要求数据递增互不等。已知两个递增序列,把两个序列的数据合并到顺序表中,并使得顺序表的数据递增有序。建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开。第1行输出创建后的顺序表内容。

2023-06-18 23:38:44 265

原创 【id:18】【1分】B. DS顺序表--连续操作

插入多个数据的multiinsert(int i, int n, int item[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据的multidel(int i, int n)函数,实现从第i个位置开始,连续删除n个数据,即从位置i开始删除多个数据。第2行先输入i表示插入开始的位置,再输入k表示有k个插入数据,接着输入k个数据。第3行先输入i表示删除开始的位置,再输入k表示要删除k个数据。顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开。

2023-06-18 18:25:39 436

原创 【id:17】【1分】A. DS顺序表--类实现

如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出顺序表内容。第1行先输入n表示有n个数据,即n是实际长度;每成功执行一次操作(插入或删除),输出执行后的顺序表内容。第1行输出创建后的顺序表内容,包括顺序表实际长度和数据。每成功执行一次查找,输出查找到的数据。操作包括:创建、插入、删除、查找。第2行输入要插入的位置和新数据。第3行输入要插入的位置和新数据。用C++语言和类实现顺序表。第4行输入要删除的位置。第5行输入要删除的位置。第6行输入要查找的位置。第7行输入要查找的位置。

2023-06-18 17:53:29 186

原创 【id:163】【20分】B. DS排序--直接插入排序

对每组测试数据,输出每趟排序结果。不同组测试数据间用空行分隔。给出一个数据序列,使用直接插入排序算法进行升序排序。第三行输入n个数据,都是正整数,数据之间用空格隔开。第二行输入n,表示第一个示例有n个数据(n>1)第一行输入t,表示有t个测试示例。

2023-06-10 01:27:04 156

原创 Leetcode-844

【代码】Leetcode-844。

2023-03-29 15:27:02 42

原创 HJOJ-838(利用队列来解决三个点在直线上最小距离的问题)

【代码】利用队列来解决三个点在直线上最小距离的问题。

2023-03-29 15:04:25 175

原创 函数的实现(栈)

【代码】函数的实现(栈)

2023-03-28 23:38:11 53

原创 用栈实现括号匹配问题

【代码】用栈实现括号匹配问题。

2023-03-28 12:22:32 70 1

原创 栈的基本初始化操作

【代码】栈的基本初始化操作。

2023-03-28 12:01:22 82

原创 对顺序表与链表难题的实现

【代码】对顺序表与链表难题的实现。

2023-03-26 15:28:50 34

原创 206. 反转链表

链接:https://leetcode.cn/problems/reverse-linked-list。进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。商业转载请联系官方授权,非商业转载请注明出处。输入:head = [1,2,3,4,5]链表中节点的数目范围是 [0, 5000]输入:head = [1,2]来源:力扣(LeetCode)输出:[5,4,3,2,1]输入:head = []

2023-03-24 22:03:30 314

原创 顺序表的一些常用函数

【代码】顺序表的一些常用函数。

2023-03-23 15:10:51 126

原创 【id:33】【20分】E. DS线性表—多项式运算

指数为0,不输出x^0。指数为负数,例如-3,输出x^(-3)。指数为正数,例如3,输出x^3。多项式输出格式:项之间用+连接,例如,1 + x。但后一项系数为负数,不输出+号,如: 1 + (-2x。第二行,A的每一项的系数 指数(共2n个数字,均为整数,以空格分隔)第四行,B的每一项的系数 指数(共2m个数字,均为整数,以空格分隔),每个项都有系数和指数两部分,例如p2x2的系数为p2,指数为2。如果该项:系数为0,不输出,但表达式只有一项0,要输出。),输出为1 - 2x^2。

2023-03-23 12:38:50 341

原创 #235. 递归实现指数型枚举

n 个整数中随机选取任意多个,每种方案里的数从小到大排列,按字典序输出所有可能的选择方案。每行一组方案,每组方案中两个数之间用空格分隔。注意每行最后一个数后没有空格。100% 的数据保证。内存限制:256 M。

2023-03-22 10:59:27 49

原创 【id:24】【20分】E. DS线性表—多项式相加

对于每1组数据,先用两行输出两个原来的多项式,再用一行输出运算结果,不必考虑结果全为0的情况。例如5+x+2x2+3x3,-5-x+6x2+4x4,两者相加结果:8x2+3x3+4x4。其中系数5和-5都是x的0次方的系数,相加后为0,所以不显示。,每个项都有系数和指数两部分,例如p2x2的系数为p2,指数为2。3.如果指数不为0,则用符号^表示,例如x的3次方,表示为x^3。4.多项式的每个项之间用符号+连接,每个+两边加1个空格隔开。第2行:输入n表示有第1组的第1个多项式包含n个项。

2023-03-16 12:00:17 502

原创 【id:25】【20分】D. DS链表—学生宿舍管理

用两个链表(已用宿舍链表和可用宿舍链表)维护宿舍的管理,实现宿舍分配、宿舍交回。获取链表第一个元素和最后一个元素:front()和back(),获取链表第一个元素,放入变量c2: c2 = s.front();宿舍分配从可用宿舍链表中摘取第一间宿舍分配给学生。学生交回的宿舍挂在可用宿舍链表最后。//按宿舍号升序挂在已用宿舍链表中。//挂在可用宿舍链表尾部。assign 学生 //为学生分配宿舍,从可用宿舍链表头摘取一间宿舍,return 宿舍号 //学生退宿舍,删除已用宿舍链表中对应结点,

2023-03-15 19:36:32 328

原创 【id:23】【20分】C. DS单链表--合并

假定两个单链表是递增有序,定义并实现以下函数,完成两个单链表的合并,继续保持递增有序。第1行先输入n表示有n个数据,接着输入n个数据。第2行先输入m表示有M个数据,接着输入m个数据。输出合并后的单链表数据,数据之间用空格隔开。输入样例1

2023-03-12 00:28:00 138

原创 【id:22】【20分】B. DS单链表--结点交换

注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换。用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。第二行输出执行第1次交换操作后的单链表数据,数据之间用空格隔开。第三行输出执行第2次交换操作后的单链表数据,数据之间用空格隔开。如果发现输入位置不合法,输出字符串error,不必输出单链表。第一行输出单链表创建后的所有数据,数据之间用空格隔开。第1行先输入n表示有n个数据,接着输入n个数据。第2行输入要交换的两个结点位置。第3行输入要交换的两个结点位置。

2023-03-11 13:50:26 231

原创 【id:21】【20分】A. DS单链表--类实现

如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出单链表。注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据。每成功执行一次操作(插入或删除),输出执行后的单链表数据。第1行先输入n表示有n个数据,接着输入n个数据。每成功执行一次查找,输出查找到的数据。第2行输入要插入的位置和新数据。第3行输入要插入的位置和新数据。第1行输出创建后的单链表的数据。第4行输入要删除的位置。第5行输入要删除的位置。第6行输入要查找的位置。第7行输入要查找的位置。输入样例1

2023-03-10 23:55:49 386

原创 【id:174】【10分】F. 判断矩形是否重叠(结构)

用具有x,y两个整型变量成员的结构类型SPoint来表示坐标点。用SRect结构类型来描述矩形,其中包含p1和p2两个SPoint成员分别表示矩形对角线上的两个点。两个矩形的边均与x轴或y轴平行,即轴对齐的矩形。矩形1的对角线顶点坐标x1、y1、x2、y2。矩形2的对角线顶点坐标x1、y1、x2、y2。编写判断两个矩形是否重叠的函数。输入样例1

2023-03-06 11:55:15 66

原创 【id:173】【10分】E. 三串合一(指针与字符数组)

连续三行,每行输入数字a和b,表示每个子串的开始和结束位置。注意字符串的位置是按照一般意义从1开始计算,和编程中的数组位置不同。例如字符串abcdefg,开始位置是3,结束位置是5,那么子串就是cde。3. 使用动态数组的方法创建新的字符串,并且使用指针读取三个字符串的不同部分,并且复制到新字符串中,要求整个过程都不能使用数组下标。输入三个字符串,通过指针读取各个字符串的子串(子串是指字符串中连续的一小部分),把它们合并成一个新字符串。2. 输入后,根据三个字符串的子串的长度,计算出新字符串的长度。

2023-03-06 11:24:18 59

原创 【id:20】【20分】D. DS顺序表之循环移位

顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。第3行输入移动方向和移动的位数,左移方向为0,右移方向为1。第4行输入移动方向和移动的位数,左移方向为0,右移方向为1。左移3位:4,5,6,1,2,3,与原数据对比。右移4位:3,4,5,6,1,2,与原数据对比。原数据:1,2,3,4,5,6。输入样例1

2023-03-04 19:19:31 551

原创 【id:19】【20分】C. DS顺序表--合并操作

第1行先输入n表示有n个数据,接着输入n个数据,表示第1个序列,要求数据递增互不等。第2行先输入m表示有m个数据,接着输入m个数据,表示第2个序列,要求数据递增互不等。已知两个递增序列,把两个序列的数据合并到顺序表中,并使得顺序表的数据递增有序。建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开。第1行输出创建后的顺序表内容。输入样例1

2023-03-04 12:40:53 50

原创 【id:18】【20分】B. DS顺序表--连续操作

插入多个数据的multiinsert(int i, int n, int item[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据的multidel(int i, int n)函数,实现从第i个位置开始,连续删除n个数据,即从位置i开始删除多个数据。第2行先输入i表示插入开始的位置,再输入k表示有k个插入数据,接着输入k个数据。第3行先输入i表示删除开始的位置,再输入k表示要删除k个数据。顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开。

2023-03-04 11:39:51 570

原创 【ID:17】【20分】A. DS顺序表--类实现

第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据 第2行输入要插入的位置和新数据 第3行输入要插入的位置和新数据 第4行输入要删除的位置 第5行输入要删除的位置。如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出顺序表内容。第i个位置是逻辑意义的位置,从1开始,在实际编程用数组,从0开始,对应数组i-1位置。每成功执行一次操作(插入或删除),输出执行后的顺序表内容。第1行输出创建后的顺序表内容,包括顺序表实际长度和数据。每成功执行一次查找,输出查找到的数据。

2023-03-04 00:27:28 575

原创 【id:79】【20分】D. 分数的加减乘除(运算符重载)

1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。每行依次分别输出加减乘除计算后的Fraction对象(直接输出分数值,不需要约简)。2.编写main函数,初始化两个Fraction对象的,计算它们之间的加减乘除。第1行:依次输入第1个和第2个Fraction对象的分子和分母值。输入样例1

2023-02-17 11:29:09 119

原创 【id:76】【20分】C. 商旅信用卡(多重继承)

生成旅程信用卡对象,输入卡信息,调用对象成员函数完成旅程网下单、信用卡刷卡、信用卡退款、信用卡积分兑换为旅程积分等操作。旅程信用卡可以按 旅程积分:信用卡积分= 1:2 的比例将信用卡积分兑换为旅程积分。旅程会员卡,有会员卡号(int)、旅程积分(int),通过会员卡下订单,按订单金额累计旅程积分。通过旅程信用卡在旅程网下单,旅程积分和信用卡积分双重积分(即旅程积分和信用卡积分同时增加)。信用卡退款m,账单金额-m,信用卡积分减去退款金额。初始假设信用卡积分、旅程积分、账单金额为0。

2023-02-17 11:06:07 186

原创 【id:65】【20分】C. 支票账户(虚函数与多态)

BasePlus支票账户除包含BaseAccount的所有信息外,还包括以下信息:透支上限(limit:默认为5000),当前透支总额(limitSum);BasePlus支票账户可执行的操作与BaseAccount相同,但有两种操作的实现不同:(1)对于取款操作,可以在透支上限范围内透支,超过则显示出错信息“insufficient”;BaseAccount支票账户可以执行的操作包括:存款(deposit)、取款(withdraw)、显示账户信息(display)。输出BaseAccount的信息。

2023-02-13 11:02:52 231

原创 【id:180】【20分】B. 汽车收费(虚函数和多态)

从第二行开始,每个测试用例占一行,每行数据意义如下:汽车类型(1为car,2为Truck,3为Bus)、编号、基本信息(Car是载客数和重量,Truck给出重量,Bus给出载客数)。主函数根据输入的信息,相应建立Car,Truck或Bus类对象,对于Car给出载客数和重量,Truck给出重量,Bus给出载客数。假设载客数和重量均为整数。以Vehicle为基类,构建出Car、Truck和Bus三个类。Car的收费公式为: 载客数*8+重量*2。Bus的收费公式为: 载客数*30。输入样例1

2023-02-13 10:00:42 147

原创 【id:64】【20分】A. 图形面积(虚函数与多态)

编写一个程序,定义抽象基类Shape,在Shape类中定义虚函数area();由它派生出3个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)。第 t 组测测试数据中正方形的边长。第 t 组测试数据中矩形的长、宽。第一组测测试数据中正方形的边长。第一组测试数据中矩形的长、宽。第 t 组测试数据中圆的半径。第 t 组数据中正方形的面积。第 t 组数据中矩形的面积。第一组数据中正方形的面积。第 t 组数据中圆的面积。第一组数据中矩形的面积。第一组数据中圆的面积。

2023-02-12 22:35:12 182

原创 【id:175】【20分】E. 学生成绩计算(继承)

非免听生具有平时成绩、考试成绩和总评成绩三个属性,总评成绩根据(平时成绩*40%+考试成绩*60%)计算的结果,85分(包含)以上为A,75分(包含)-85分(不包含)为B,65分(包含)-75分(不包含)为C,60分(包含)-65分(不包含)为D,60分(不包含)以下为F。定义上述类并编写主函数,输入类型符号,若输入R,根据学生基本信息、平时成绩和考试成绩,建立非免听生对象,若输入S,根据学生基本信息、考试成绩,建立免听生对象。计算学生的总评成绩,并输出。输入样例1

2023-02-12 22:21:03 430

原创 【id:73】【20分】C. 时钟模拟(继承)

定义时钟类,数据成员是私有循环计数器对象小时hour、分钟minute、秒second,公有函数time(int s)计算当前时间经过s秒之后的时间,即hour,minute,second的新value值。因为clock和time是系统内置函数,为了避免重名,请不要使用clock或者time作为类名或者函数名。定义时钟类对象,输入当前时间和经过的秒数,调用time函数计算新时间。2行一组,第一行为当前时间(小时 分钟 秒),第二行为经过的秒数。根据题目要求,增加必要的构造函数、析构函数和其他所需函数。

2023-02-10 23:31:46 230

原创 【id:69】【20分】B. 三维空间的点(继承)

定义一个平面上的点C2D类,它含有一个getDistance()的成员函数,计算该点到原点的距离;从C2D类派生出三维空间的点C3D类,它的getDistance()成员函数计算该点到原点的距离。试分别生成一个C2D和C3D的对象,计算它们到原点的距离。第四行三维坐标点位置2赋值给二维坐标点变量后,二维坐标点到原点的距离。第二行三维坐标点位置1到原点的距离。第三行三维坐标点位置2到原点的距离。第一行二维坐标点位置到原点的距离。第二行三维坐标点位置1。第三行三维坐标点位置2。输入样例1

2023-02-10 22:52:08 181

原创 【id:68】【20分】A. 圆和圆柱体计算(继承)

再以CCircle做为直接基类,派生出一个圆柱体类CCylinder,增加数据成员h(高)和一个计算体积的成员函数。以CPoint为基类,派生出一个圆形类CCircle,增加数据成员r(半径)和一个计算圆面积的成员函数。生成圆和圆柱体对象,调用成员函数计算面积或体积并输出结果。定义一个CPoint点类,包含数据成员x,y(坐标点)。输出圆柱体的圆心位置 半径 高。输入圆柱体圆心位置、半径、高。输入圆的圆心位置、半径。输出圆的圆心位置 半径。输入样例1

2023-02-10 22:22:19 67

原创 id:127】【20分】D. 四、加湿风扇(期末模拟)

新增操作是预警,无参数,返回值为整数,当实际水容量不小于最大水容量的50%,则返回1;电风扇继承家电的特点,新增两个属性(整数):风向和风力,其中风向为0表示定向吹风,状态为1表示旋转吹风。2、风力控制含一个整数参数,无返回,把风力设置为参数值,参数表示风力级别,例如1级、2级、3级等。1、风向控制含一个整数参数,无返回,把风向设置为参数值,参数为0表示定向吹风,为1表示旋转吹风。2、调用预警操作,并根据返回结果1、2、3输出不同信息,分别是:水量正常、水量偏低、水量不足。

2023-02-09 16:10:53 322

原创 【id:126】【20分】C. 三、加密模板(期末模拟)

用类模板定义一个加密类,包含四个属性:明文、密文、密钥、长度,前三个属性都是同一种类型,长度是整数。定义一个函数模板,名为max,参数包括数组和数组长度,返回值是数组中的最大值,要求支持整数、浮点数和字符三种类型。1、加密是调用函数模板max得到数组最大值,按照前面的方法使用最大值和密钥进行加密,得到密文。2、使用类模板方法改造加密类界面,不能增加任何属性和操作,必须在类外实现构造函数和加密方法。第二行输入浮点数类型的信息,包括密钥、长度、明文。第一行输入整数类型的信息,包括密钥、长度、明文。

2023-02-09 14:45:24 532

原创 【id:125】【20分】B. 二、金属加工(期末模拟)

4、软化,在金属中加入特殊化学溶液可以降低金属硬度,每降低硬度一级,重量和体积都减少10%3、硬化,在金属中加入高分子材料可以硬化金属,每提升硬度一级,重量和体积都增加10%。用类来描述金属,用运算符重载方式实现金属的四种操作,并定义打印函数,具体要求如下。2、巨化,金属通过熔炼风吹的方法会巨化,体积变大n倍,重量和硬度不变。2、用乘法运算符、友元的方式实现巨化,含两个参数:金属对象、巨化倍数。第一行输入第一块金属的信息,包括硬度、重量、体积。第二行输入第二块金属的信息,包括硬度、重量、体积。

2023-02-09 13:57:08 213

原创 【id:124】【20分】A. 一、会员积分(期末模拟)

例如兑换比例是90,会员原有500积分,要兑换积分数量为420,则420/90=4,最终用360积分兑换4元,会员余140积分。注意:兑换积分数量不足100的部分是不能兑换的,例如会员原有500积分,要兑换积分数量为450,则450/100=4,最终用400积分兑换4元,会员余100积分。1、积分累加add,是根据消费金额累加积分,无返回值,参数是消费金额(整数),积分根据消费金额按1比1的比例累加。第二行输入两个操作信息:消费金额、积分兑换数量,表示普通会员执行一次积分累加,一次积分兑换。

2023-02-08 10:48:01 378

空空如也

空空如也

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

TA关注的人

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