C++
文章平均质量分 72
爱吃苹果的派大星
这个作者很懒,什么都没留下…
展开
-
数据结构——排序
实验预备知识:1. 理解并掌握直接插入排序、折半插入排序、2-路插入排序、起泡法排序和快速排序的基本概念和方法。2. 掌握排序算法的基本思想。一、实验目的掌握排序算法基本思想的实现。通过实验掌握直接插入排序、折半插入排序、2-路插入排序的具体实现。掌握交换排序算法基本思想的实现。通过实验掌握起泡法排序和快速排序的具体实现。二、实验要求【项目1 –排序算法验证】用序列{40, 57, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行相应算法程序原创 2022-01-17 13:39:45 · 234 阅读 · 0 评论 -
数据结构——查找
实验预备知识:1. 熟练运用指针进行程序设计,掌握结构体指针。2. 掌握使用结构体指针访问结构体变量。3. 掌握指针作为函数的参数使用。4. 理解查找的含义、目的和处理方法。一、实验目的理解和掌握查找的几种类型方法。定义基本运算,构建相应算法库。学习利用查找解决实际问题二、实验要求【项目1 –静态查找算法验证】此处给出了顺序查找、折半查找、分块查找的算法,运行并重复测试教学内容中涉及的算法。使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。参考代码见附录。(1) 顺原创 2022-01-17 13:33:31 · 204 阅读 · 0 评论 -
数据结构——图
一、实验目的学习图的基本定义方式熟练掌握图的矩阵存储和邻接表存储。二、实验要求【项目1】实现图的邻接矩阵和邻接表的存储,要求:建立如图所示的有向图G的邻接矩阵,并输出;建立如图所示的有向图G的邻接表,并输出。main.cpp程序代码:#include <iostream>#include <stdio.h>#include "graph.h"using namespace std;int main(){ int a[6][MAXV] = {原创 2022-01-16 13:34:55 · 305 阅读 · 0 评论 -
数据结构——二叉树、栈和队列、线性表综合实验
实验预备知识:1. 熟练掌握二叉树的概念及性质。2. 掌握栈和队列的概念及性质3. 掌握线性表的概念及性质一、实验目的能利用二叉树的遍历解决实际问题。加深对栈和队列的理解,能用栈和队列解决实际问题二、实验要求【项目1】 给定一个二叉树,设计一个算法,将其变成原二叉树的镜像。程序代码:Main.cpp:#include <iostream>#include "btree.h"using namespace std;int main(){ BTNode原创 2022-01-16 13:31:13 · 419 阅读 · 0 评论 -
数据结构——二叉树的应用
实验预备知识:1. 熟练掌握二叉树的概念及5大性质。2. 掌握二叉树的非递归遍历及递归遍历的方法。3. 能利用二叉树的遍历解决实际问题。4. 理解树和二叉树的含义、目的和处理方法。一、实验目的理解和掌握树及二叉树的类型定义方法。定义二叉树的基本存储结构,实现基本运算学习利用树及二叉树解决实际问题二、实验要求【项目1】使用队列完成层次遍历,请将代码及验证结果填入以下表格中程序代码:main.cpp:#include <iostream>#include "btree原创 2022-01-16 13:24:29 · 2855 阅读 · 0 评论 -
数据结构——树及二叉树-1
实验预备知识:1. 熟练运用指针进行程序设计,掌握结构体指针。2. 掌握使用结构体指针访问结构体变量。3. 掌握指针作为函数的参数使用。4. 理解树和二叉树的含义、目的和处理方法。一、实验目的理解和掌握树及二叉树的类型定义方法。定义二叉树的基本存储结构,实现基本运算,构建二叉树算法库。学习利用树及二叉树解决实际问题二、实验要求【项目1】----二叉树算法库的建立定义二叉树的链式存储结构,实现其基本运算,并完成测试。【要求】:头文件btree.h中定义数据结构并声明用于完成基本原创 2022-01-16 13:19:06 · 625 阅读 · 0 评论 -
数据结构——队列
一、实验目的理解和掌握队列的类型定义方法。掌握栈中的基本运算,包括创建、判空及判满、出队/入队等基本操作。学习利用队解决实际问题二、实验要求【项目1 – 验证性实验:建立顺序环形队列算法库】定义顺序环形队列存储结构,实现其基本运算,并完成测试。【要求】:1、头文件sqqueue.h中定义数据结构并声明用于完成基本运算的函数。2、在sqqueue.cpp中实现这些函数3、在main函数中完成测试,包括如下内容:(1)初始化队列q(2)依次进队列元素a,b,c(3)判断队列是否为空原创 2022-01-16 13:11:27 · 430 阅读 · 0 评论 -
数据结构——栈
一、实验目的理解和掌握栈的类型定义方法。掌握栈中的基本运算,包括创建、判空及判满、出栈/入栈等基本操作。学习利用栈解决实际问题二、实验要求【项目1 – 验证性实验:建立顺序栈、链栈】【要求】:1、头文件sqstack.h中定义数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:2、在sqstack.cpp中实现这些函数3、在main函数中完成测试,包括如下内容:(1)初始化栈s(2)判断s栈是否为空(3)依次进栈元素a,b,c,d,e(4)判断s栈是否为空(5)输出原创 2022-01-16 13:07:39 · 1697 阅读 · 0 评论 -
数据结构——链表
一、实验目的理解和掌握线性表的类型定义方法。掌握链表中的基本运算,包括顺序表的创建、元素的添加、删除,判空及判满等基本操作。二、实验要求【项目1 – 验证性实验:建立单链表】定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果算法库包括两个文件: 头文件:linklist.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明; 源文件:linklist.cpp,包含实现各种算法的函数的定义 请采用程序的多文件组织形式,建立如上的两个文件,另外再建立一个原创 2022-01-16 13:00:56 · 477 阅读 · 0 评论 -
数据结构——算法、程序设计
一、实验目的理解和掌握线性表的类型定义方法。掌握顺序表中的基本运算,包括顺序表的创建、元素的添加、删除,判空及判满等基本操作。二、实验要求【题目1 - C/C++语言中函数参数传递的三种方式】C语言提供了两种函数参数传递的方式:传值和传地址。在C++中,又拓展了引用方式。通过本项目,确认是否已经掌握了这三种方式的原理,为后续学习做好准备。两个变量的值的交换,请用三种方法来实现,分别完成主程序的编写://(1)传值void myswap(int x, int y){ int t;原创 2022-01-16 12:48:57 · 517 阅读 · 0 评论 -
面向对象程序设计——文件
一、实验目的:掌握流的概念;掌握文本文件和二进制文件的使用方法。二、实验内容:建立二进制文件,将CStudent类中数据成员写入文件。并打开文件,读出数据并显示。(1) 提示参考代码如下:#include<fstream.h> #include<string.h>#include<iomanip.h>class CStudent //定义学生类{ char name[20]; int number; double english;原创 2022-01-15 18:36:30 · 496 阅读 · 0 评论 -
面向对象程序设计——虚函数和多态性
一、实验目的:掌握动态联编的概念;掌握虚函数和纯虚函数的使用方法;掌握抽象类的使用。二、实验内容:在前面实验基础上,完成以下内容:(1)在基类Account中添加deposit、withdraw、settle这3个函数的声明,且将它们都声明为纯虚函数,通过基类的指针可以调用派生类的相应函数。(2)将show函数声明为虚函数,通过基类的指针来调用派生类的show函数。(3)将计算两个日期相差天数的distance函数改为“—”运算符重载函数,使得计算两个日期相差天数更直观,增加程序的可读性原创 2022-01-15 18:31:30 · 889 阅读 · 2 评论 -
面向对象程序设计——继承
一、实验目的:掌握继承的概念。理解不同的继承类型。二、实验内容:在前实验基础上,设计一个基类Account用来表述所有账户的共性,然后将SavingsAccount类变为其派生类,此外还要再派生出用来表示信用账户的类CreditAccount。(1)基类中保留账号,余额,和表示账户总金额的静态数据成员,以及用于读取它们的成员函数和用来输出账户信息的show函数。存、取、结算利息的函数分别放到各个派生类中。(2)信用账户类CreditAccountclass CreditAccount:原创 2022-01-15 17:57:44 · 1120 阅读 · 0 评论 -
面向对象程序设计——类与对象的应用2
一、实验目的:掌握类和对象的概念、定义和使用方法。掌握静态数据成员和const修饰的成员函数的用法。掌握c++程序的一般结构。二、实验内容:在个人的活期储蓄账户类SavingsAccount上修改完成以下内容: 在类SavingsAccount中增加一个静态数据成员total,用来记录各个账户的总金额,并为其增加相应的静态成员函数getTotal用来对其进行访问。 将类SavingsAccount中不需要改变对象状态的成员函数声明为常成员函数,比如getBalance等。 增加日期类D原创 2022-01-15 17:51:24 · 1127 阅读 · 1 评论 -
面向对象程序设计——类与对象的应用1
一、实验目的:掌握类和对象的概念、定义和使用方法。掌握不同特性对象成员的访问方法,以及this指针的概念和使用方法。掌握构造函数和析构函数的使用方法。二、实验内容:定义个人的活期储蓄账户类SavingsAccount,数据成员包括:账号(id)、余额(balance)、年利率(rate)等信息,成员函数包括显示账户信息(show)、存款(deposit)、取款(withdraw)、结算利息(settle)等操作。⑴提示利息的计算方式:一年中每天的余额累积起来再除以一年的总天数,得到一个原创 2022-01-15 17:43:49 · 1401 阅读 · 0 评论 -
面向对象程序设计——函数和数组
一、实验目的:掌握函数的定义和使用方法;掌握函数调用的方法;掌握函数参数传递的机制;掌握全局变量、局部变量、静态变量的使用方法;掌握函数重载的方法。熟练掌握一维数组和二维数组的定义、引用和初始化;掌握字符数组与字符串的关系以及字符串变量的表示,熟练字符串处理函数的应用。熟练掌握各种类型指针的定义、引用和运算;掌握数组指针和指向数组的指针变量,以及字符串的指针和指向字符串的指针变量。二、实验内容:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。⑴提示把原创 2022-01-15 17:34:00 · 363 阅读 · 0 评论 -
面向对象程序设计——熟悉VC++6.0的编程环境
一、实验目的熟悉 VC++6.0 集成开发环境;掌握简单C++ 程序的编辑、编译、连接和运行;理解 C++语言中的数据类型、表达式;掌握简单C++程序的编写及调试方法;熟悉C++程序的顺序、分支和循环控制结构及其实现方法;掌握结构化程序设计的基本方法和步骤,进一步学习程序的调试过程;一、实验内容从键盘输入两个整数,求其最大值。⑴参考程序如下:#include <iostream.h>int max(int x,int y) //定义求最大值函数{ if(x>y原创 2022-01-15 17:24:40 · 531 阅读 · 0 评论