自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 6-2 线性探测法的查找函数

试实现线性探测法的查找函数。函数接口定义:Position Find( HashTable H, ElementType Key );其中HashTable是开放地址散列表,定义如下:#define MAXTABLESIZE 100000 /* 允许开辟的最大散列表长度 */typedef int ElementType; /* 关键词类型用整型 */typedef int Index; /* 散列地址类型 */typedef Index Position;

2020-11-26 15:30:21 3177

原创 6-1 二分查找

本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一个线性表,其中ElementType元素可以

2020-11-26 15:17:40 532

原创 邻接表存储图的广度优先遍历

试实现邻接表存储图的广度优先遍历。函数接口定义:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) );其中LGraph是邻接表存储的图,定义如下:/* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; struct AdjVNode{ Vertex AdjV; /* 邻接点下标 */ PtrToAdjVNode Next; /* 指向下一个邻接点的指针

2020-11-26 15:16:15 848 1

原创 邻接矩阵存储图的深度优先遍历

试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻

2020-11-26 14:28:22 422

原创 求二叉树高度

本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};要求函数返回给定二叉树BT的高度值。裁判测试程序样例:#include <stdio.h&gt

2020-11-26 13:59:45 304

原创 是否二叉搜索树

本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:bool IsBST ( BinTree T );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数IsBST须判断给定的T是否二叉搜索树,即满足如下定义的二叉树:定义:一个二叉搜索

2020-11-25 23:14:55 92

原创 先序输出叶结点

本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void PreorderPrintLeaves( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数PreorderPrintLeaves应按照先序遍历的

2020-11-25 23:01:25 2032

原创 另类堆栈

在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Position;typedef struct SNode *PtrToSNode;struct SNode { ElementType *Data; /*

2020-11-25 17:00:14 90

原创 递增的整数序列链表的插入

本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义:List Insert( List L, ElementType X );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List;

2020-11-25 16:35:50 5437

原创 书面作业: 第八章 检索

判断1-1把数组中元素按某种顺序排列的过程叫做查找 。1-2将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。1-3在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。1-4二叉搜索树的查找和折半查找的时间复杂度相同。1-8(neuDS)由顺序表和单链表表示的有序表均可使用二分查找法来提高查找速度。1-6在散列表中,所谓同义词就是具有相同散列地址的两个元素。1-5

2020-11-24 20:38:30 1305

原创 书面作业: 第七章 排序

判断1-1仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。1-2对N个记录进行简单选择排序,比较次数和移动次数分别为O(N2)和O(N)。1-3对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。1-4要从50个键值中找出最大的3个值,选择排序比堆排序快。1-5对N个记录进行快速排序,在最坏的情况下,其时间复杂度是O(NlogN)。1-6(neuDS)直接插入排序算法在最好情况下的时间复杂度为O(n)。1-7对N个不同的数据采

2020-11-24 19:58:28 2587

原创 书面作业: 第六章 图

判断1-1无向连通图边数一定大于顶点个数减1。1-2在任一有向图中,所有顶点的入度之和等于所有顶点的出度之和。1-3Prim 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。1-4如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G一定有2个连通分量。1-5用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。1-6Kruskal 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。1-7在一个有向图中,所有顶

2020-11-23 14:47:01 1389

原创 书面作业: 第五章 树与二叉树

判断1-1如果完全二叉树从根结点开始按层次遍历的输入序列为1,2,3,4,5,6,7,则该完全二叉树是二叉排序树。1-2二叉树是一种特殊的树。1-3用链表(llink-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n-1个空指针。1-4完全二叉树中,若一个结点没有左孩子,则它必是树叶。1-5将一棵完全二叉树存于数组中(根结点的下标为1)。则下标为23和24的两个结点是兄弟。1-6在一棵由包含4、5、6等等一系列整数结点构成的二叉搜索树中,如果结点4和6在树的同一层,那

2020-11-22 14:24:33 6343

原创 书面作业: 第四章 字符串

判断1-1(neuDS_C++)空串与空格串是相同的。1-2重载运算符可以保持原运算符的优先级和结合性不变。1-3如果strcmp(s1,s2)返回的结果为0,表示字符串s1和s2不相同。1-4调用strcmp函数比较字符串大小时,通常较长的字符串会较大。1-5字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。1-6字符串常量就是用一对双引号括起来的字符序列,它有一个结束标志’\0’。1-7字符串常量在内存中的存放位置由系统自动安排。1-8指针

2020-11-19 15:23:33 2499

原创 书面作业: 第三章 栈与队列

判断1-1n个元素通过一个栈产生n个元素的出栈序列,其中进栈和出栈操作的次数总是相等的。1-2通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。1-3若采用“队首指针和队尾指针的值相等”作为环形队列为空的标志,则在设置一个空队时只需将队首指针和队尾指针赋同一个值,不管什么值都可以。1-4顺序栈中元素值的大小是有序的。1-5环形队列中有多少个元素可以根据队首指针和队尾指针的值来计算1-6

2020-11-18 21:04:19 6297

原创 书面作业: 第二章 线性表

判断1-1线性表中每个元素都有一个直接前趋和一个直接后继。1-2循环链表不是线性表。1-3在具有头结点的链式存储结构中,头指针指向链表中的第一个元素结点。1-4(neuDS)所谓随机存取,就是通过首地址和元素的位序号值可以在O(1)的时间内找到指定的元素。1-5若用链表来表示一个线性表,则表中元素的地址一定是连续的。1-6对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。1-7(neuDS)线性表的唯一存储形式是链表。下列函数试图求链式

2020-11-17 14:40:04 3032

原创 书面作业: 第一章 概论

判断1-1(neuDS)数据的物理结构是指数据在计算机中的实际存储形式。1-2数据的逻辑结构是指数据的各数据项之间的逻辑关系。1-3《数据结构》是一门研究数值计算的程序设计问题的学科 。1-4(neuDS)算法必须有输出,但可以没有输入。1-5数据结构的抽象操作的定义与具体实现有关。1-6O(n​​²),O(1+2+···+n) 对应的算法时间复杂度相同。1-7数据的逻辑结构与数据元素本身的内容和形式无关。1-82N和​NN具有相同的增长速度。1-9算法分析的两个主要方面

2020-11-15 21:32:04 1294 2

原创 函数

函数的定义:函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种。例如,scanf( ),printf( )等为库函数,由C语言系统提供定义,编程时只要直接调用即可。自定义函数需要用户自己定义。函数定义的一般形式为:函数类型 函数名(形式参数表) /*函数首部*/{ 函数实现过程 /*函数体*/}函数的调用:在...

2020-07-09 16:07:22 721

原创 用C语言编写程序

· 怎样编写程序,在屏幕上显示一些信息?/*显示“Hello World!”*/ /*注释文本*/#include <stdio.h> /*编译预处理命令*/int main(void) /*定义主函数main()*/{ printf("Hello World!\n"); /*调用printf()函数输出文字*/ return 0;

2020-07-09 11:21:46 1505 1

原创 文件(小题)

判断题:1-1记录流的当前格式化状态标志字中的每一位用于记录一种格式,这种格式是不能被设置或清除的。( F )1-2设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对象通常是cout。( T )1-3操纵符本身是一个对象,它可以直接被提取符或插入符操作。( T )1-4get()函数不能从流中提取终止字符,终止字符仍留在流中。getline()函数可以从流中提取终止字符,但终止字符被丢弃。( T )1-5使用打开文件函数open()之前,需要定义一个流类对象,使.

2020-06-27 17:14:12 2283 1

原创 模板及异常(小题)

单选题:2-1现有声明:templateclass Test{...};则以下哪一个声明不可能正确。( A )A.Test a;B.Test < int> a;C.Test < float> a;D.Test< Test < int> > a;2-2关于函数模板,描述错误的是。 ( A )A.函数模板必须由程序员实例化为可执行的函数模板B.函数模板的实例化由编译器实现C.一个类定义中,只要有一个函数模板,则这个类是类模板D..

2020-06-27 17:07:31 2867

原创 运算符重载(小题)

判断题:1-1多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。( T )1-2对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。( F )1-3对单目运算符重载为友元函数时,可以说明一个形参。而重载为成员函数时,不能显式说明形参。( T )1-4重载运算符可以保持原运算符的优先级和结合性不变。( T )1-5预定义的提取符和插入符是可以重载的。( T )1-6重载operator+时,返回值的类型应当与形参类.

2020-06-27 16:57:51 4083

原创 多态性(小题)

判断题:1-1虚函数是用virtual 关键字说明的成员函数。( T )1-2因为静态成员函数不能是虚函数,所以它们不能实现多态。( T )1-3将构造函数说明为纯虚函数是没有意义的。( T )1-4抽象类是指一些没有说明对象的类。( F )1-5包含纯虚函数的类叫抽象类。( T )单选题:2-1关于动态绑定的下列描述中,( D )是错误的。A.动态绑定是以虚函数为基础的B.动态绑定在运行时确定所调用的函数代码C.动态绑定调用函数操作是通过指向对象的指针或对象引用来实.

2020-06-27 16:52:35 2183

原创 继承与派生(小题)

单选题:2-1一个类的私有成员 ( B )A.只能被该类的成员函数访问B.只能被该类的成员函数和友元函数访问C.只能被该类的成员函数、友元函数和派生类访问D.以上答案都不对2-2以下关于C++语言中继承的叙述中,错误的是( D )。A.继承是父类和子类之间共享数据和方法的机制B.继承定义了一种类与类之间的关系C.继承关系中的子类将拥有父类的全部属性和方法D.继承仅仅允许单继承,即不允许一个子类有多个父类2-3继承机制的作用是 ( C )A.信息隐藏B.数据封装C.定义新.

2020-06-27 16:46:28 3816 3

原创 静态成员及友元(小题)

判断题:1-1静态成员用以解决同一个类的不同对象之间成员,包括数据成员和函数成员的共享问题。1-4静态成员变量的访问控制权限没有意义,静态成员变量均作为公有成员使用。1-5友元函数不是类的成员函数,只是独立于该类的一般函数。1-6一个类的友元函数可以访问该类的私有成员。1-7可以将一个类的成员函数(包括构造和析构函数)说明为另一个类的友元。1-9已知类 A 是类 B 的友元,类 B 是类 C 的友元,则类 A 一定是类 C 的友元 。单选题:...

2020-06-27 16:28:47 4211

原创 C++类和对象(小题)

单选题:2-1下列函数中,( C )不能重载。A.成员函数B.非成员函数C.析构函数D.构造函数2-2下列对重载函数的描述中,( A )是错误的。A.重载函数中不允许使用默认参数B.重载函数中编译根据参数表进行选择C.不要使用重载函数来描述毫无相干的函数D.构造函数重载将会给初始化带来多种方式2-3在下面类声明中,关于生成对象不正确的是( C )。class point{ public:int x;int y;point(int a,int b) {x=a;y=b;}

2020-06-27 16:19:05 2436

原创 L1-002 打印沙漏

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状

2020-05-18 20:31:04 133

原创 L1-001 Hello World

这道超级简单的题目没有任何输入。你只需要在一行中输出著名短句“Hello World!”就可以了。输入样例:无输出样例:Hello World!我的代码:#include <stdio.h>int main(){ printf("Hello World!");}...

2020-05-18 20:29:03 146

原创 马会飞

已知Horse类是Pegasus类的父类,根据以下主函数完善程序内容,以实现规定的输出。不允许改变主函数的内容。int main(){ Horse *p1 = new Horse; //输出:Horse 申请了空间... Horse *p2 = new Pegasus; /* 输出两行: Horse 申请了空间... Pegasus 申请了空间...

2020-05-17 20:42:57 529

原创 抽象基类Shape派生3个类

声明抽象基类Shape,由它派生出三个类,圆形Circle,矩形Rectangle,三角形Triangle,用一个函数输出三个面积。输入格式: 在一行中依次输入5个数,圆的半径,长方形的高和宽,三角形的高和底,中间用空格分隔输出格式: 圆的面积,长方形的面积,三角形的面积,小数点后保留2位有效数字,每个面积占一行。输入样例:在这里给出一组输入。例如:3 3 4 3 4输出样例: 在这里给出相应的输出。例如:28.2712.006.00我的代码:#include <iost

2020-05-17 20:28:35 2987

原创 宠物的生长(多态)

现在要开发一个系统,对宠物的生长状态进行管理。给出下面的一个基类框架class Pet{protected:string name;//姓名int length;//身长int weight;//体重int current;//当前日期public:virtual void display(int day)=0;//输出目标日期的身长和体重Pet(string name, int l, int w, int c);}以Pet为基类,构建出Cat和Dog两个类:

2020-05-17 18:15:15 2024

原创 表彰优秀学生(多态)

学期结束,班主任决定表彰一批学生,已知该班学生数在6至50人之间,有三类学生:普通生,特招运动员,学科专长生,其中学科专长生不超过5人。主函数根据输入的信息,相应建立GroupA, GroupB, GroupC类对象。GroupA类是普通生,有2门课程的成绩(均为不超过100的非负整数);GroupB类是特招运动员,有2门课程的成绩(均为不超过100的非负整数),1次运动会的表现分,表现分有:A、B、C、D共4等。GroupC类是学科专长生,有5门课程的成绩(均为不超过100的非负整数)。表彰人员

2020-05-14 11:50:20 338 1

原创 动物世界

补充程序 :1、实现Mammal类的方法2、由Mammal类派生出Dog类,在Dog类中增加itsColor成员(COLOR类型)3、Dog类中增加以下方法:constructors: Dog()、Dog(int age)、Dog(int age, int weight)、Dog(int age, COLOR color)、 Dog(int age, int weight, COLOR color)、~Dog()accessors: GetColor()、SetColor()Other meth

2020-05-13 10:39:51 323

原创 定义基类Point和派生类Circle,求圆的周长.

定义基类Point(点)和派生类Circle(圆),求圆的周长。Point类有两个私有的数据成员float x,y;Circle类新增一个私有的数据成员半径float r和一个公有的求周长的函数getCircumference();主函数已经给出,请编写Point和Circle类。#include <iostream>#include<iomanip>using namespace std;//请编写你的代码int main(){ float x,y,r;

2020-05-13 09:33:33 5051

原创 虚基类的应用-人与教师学生

派生类定义:根据所给的基类,完成多重继承下的派生类定义函数接口定义:#include <iostream>#include <string>using namespace std;//定义公共基类Personclass Person {public: Person(string nam,char s,int a) {name=nam;sex=s;age=a;} protec

2020-05-12 16:46:39 2477

原创 复数类的操作

1、声明一个复数类Complex(类私有数据成员为double型的real和image)2、定义构造函数,用于指定复数的实部与虚部。3、定义取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。4、定义成员函数Print(),调用该函数时,以格式(real, image)输出当前对象。5、编写加法友元函数,以复数对象c1,c2为参数,求两个复数对象相加之和。6、主程序实现:(1)读入两个实数,用于初始化对象c1。(2)读入两个实数,用于初始化对象c2。(3)计算c1与c2

2020-05-12 11:19:32 1699 1

原创 求两点之间距离

定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数Distance(), 用于求两点之间的距离。输入格式: 输入有两行: 第一行是第一个点的x坐标和y坐标; 第二行是第二个点的x坐标和y坐标。输出格式: 输出两个点之间的距离,保留两位小数。输入样例: 0 9 3 -4输出样例:13.34我的代码:#include <iostream>#include <cmath>#include <iomanip

2020-05-11 20:44:55 474

原创 计算全班学生C++课程的总成绩和平均成绩

定义一个类Student,记录学生C++课程的成绩。要求使用静态数据成员或静态成员函数计算全班学生C++课程的总成绩和平均成绩。输入格式: 输入5个不超过100的正整数,作为C++成绩。输出格式: 在第一行中输出成绩的和,第二行输出平均成绩。输入样例: 90 80 70 60 50输出样例: 350 70我的代码:#include <iostream>using namespace std;class Student{ static int totalscore;

2020-05-11 19:58:40 8241 1

原创 车与船的重量

定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <iostream>using namespace std;/* 请在这里填写答案 */int main(){ int c,b; cin>>c>>b; car c1(c); boat b1(b); cout<<totalweig

2020-05-09 20:31:36 739

原创 计算捐款总量

这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donator类中包含捐款人的姓名及其捐款额,其部分代码如下:class Donator{ private: string name; //捐款人姓名 float money; //捐款金额,单位:元 public: void setName(string _name); void setMoney(float _money); string getName(){return name;}

2020-05-09 19:57:00 3547

空空如也

空空如也

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

TA关注的人

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