- 博客(46)
- 收藏
- 关注
原创 图的邻接链表储存
printf("请输入图的顶点和边的个数:");printf("请输入顶点的值:");int adjvex;//该图中顶点和边的个数。//每一个顶点的节点结构(单链表)
2023-12-08 11:38:52
457
原创 图的初始化
printf("请选择要创建的图的类型(0为无向无权图,1为有向无权图,2为有向无权图,3为有向有权图)");printf("请输入边为1的顶点:");printf("请输入边为1的顶点:");printf("请输入图的顶点个数:");printf("请输入图的边的个数:");printf("请输入图的顶点个数:");printf("请输入图的边的个数:");//图的顶点和边的个数。//初始化有向有权图。//图的邻接矩阵储存。//初始化无向无权图。//初始化有向无权图。//初始化有向无权图。
2023-12-01 11:40:08
76
原创 shiyan
/为每个单词设置统计标志:true代表已经统计,false代表未被统计。if (flags[i]==false){//表示尚未统计。//统计words[i]在后续元素中出现的次数。//经统计结果写入Result[]数组。public void clean(){//数据清洗。//统计text中每次单词出现的次数。//获取text中所有单词。//统计每个单词出现的次数。//需要统计的字符串为。
2023-11-28 18:11:44
205
原创 深度,节点完成;复制检验,判断两颗二叉树是否相等
/本质为前序遍历的递归方法。void TreeSize(BT* root)//求二叉树结点个数。//让每个节点的左右指针指明方向,创建一个二叉树。copyTree(BT *root) //二叉树copy。//先序遍历,先遍历根,再遍历左子树,最后遍历右子树。//中序遍历,先遍历左子树,再遍历根,最后遍历右子树。//后序遍历,先遍历左子树,再遍历右子树,最后遍历根。printf("复制树的先序遍历为:");//形成二叉树后,返回让指针返回根节点。printf("二叉树的深度为:");
2023-11-24 11:39:58
63
原创 栈的基本操作实现代码
if(S->top == MAXSIZE - 1){//栈满 也可用top=Stacksize+1判断。//栈顶指针,类似于数组下标。#define MAXSIZE 100 //栈中元素的最大个数。if(S->top==-1){//栈空,无法删除。//先出栈,指针再减一。Push(&S,1);printf("栈满");printf("栈空");//出栈,删除栈顶元素。
2023-11-09 22:04:51
80
原创 单链表的基本操作代码
/创建头结点,令L指向头结点。//函数类型(当return值为函数结果状态时用)需要自定义!//存放元素后继结点的地址。//相当于给 int起个别名。printf("头插法创建一个链表\n");//主函数,判断各种操作是否正确。
2023-11-09 18:02:25
210
原创 顺序栈,运行的时候一片空白。(含改错
if(S->top == MAXSIZE - 1){//栈满 也可用top=Stacksize+1判断。//栈顶指针,类似于数组下标。#define MAXSIZE 100 //栈中元素的最大个数。if(S->top==-1){//栈空,无法删除。//编译时有警告,但改了之后错上加错。printf("请输入入栈的元素的值:");//先出栈,指针再减一。} //编译没有错误,但运行页面空白。//出栈,删除栈顶元素。
2023-11-03 11:29:59
41
原创 还是报错,有点不能理解为什么e出问题
if(S->top == MAXSIZE - 1){//栈满 也可用top=Stacksize+1判断。//栈顶指针,类似于数组下标。#define MAXSIZE 100 //栈中元素的最大个数。if(S->top==-1){//栈满。//出栈,删除栈顶元素。
2023-10-20 11:38:36
42
原创 栈的第二个代码
/栈顶指针,类似于数组下标。#define MAXSIZE 100 //栈中元素的最大个数。//已经分配的存储空间。S.top = -1;if(top=Stacksize+1){//栈满。if(S.top==-1){//栈满。//出栈,删除栈顶元素。
2023-10-20 11:00:11
31
原创 OK,暂时没有报错
/创建头结点,令L指向头结点。//存放元素后继结点的地址。printf("请输入该链表的第%d个元素:",i);printf("请输入该链表的第%d个元素:",i);//判断初始化是否成功。//建立一个带头结点的单链表。//建立一个带头结点的单链表。//q指向所删除的结点。//主函数,判断各种操作是否正确。
2023-10-13 11:42:35
35
原创 啊啊啊啊啊啊啊还没有写出来
/创建头结点,令L指向头结点。//存放元素后继结点的地址。//相当于给 int起个别名。printf("请输入该链表的第%d个元素:",i);printf("请输入该链表的第%d个元素:",i);//判断初始化是否成功。//建立一个带头结点的单链表。//建立一个带头结点的单链表。//q指向所删除的结点。
2023-10-13 11:37:41
23
原创 先保存一下
/创建头结点,令L指向头结点。//存放元素后继结点的地址。//相当于给 int起个别名。//判断初始化是否成功。//建立一个带头结点的单链表。//如果首元结点不存在返回0。//判断所取位置是否合法。//q指向所删除的结点。printf("链表中所有元素为: ");//主函数,判断各种操作是否正确。
2023-10-13 11:23:42
29
原创 终于写对了!
printf("插入后的顺序表为");printf("插入的位置不合法,无法插入!printf("给定删除的位置有误,无法删除!printf("删除后的顺序表为:");//开始进行删除操作 找到位置然后删除。printf("初始顺序表为:");//进行线性表的删除(给定位置的删除)//先判断能否插入,两种情况。//线性表的初始化 接受其返回值。//验证删除后的顺序表。//定义一个结构体,即顺序表。//开始插入,要移位。//打印出线性表,以检查对错。//往线性表中添加元素。//进行线性表的插入。
2023-10-11 13:00:26
33
原创 顺序表的初始化,插入,删除的操作
printf("插入后的顺序表为");printf("插入的位置不合法,无法插入!printf("给定删除的位置有误,无法删除!//开始进行删除操作 找到位置然后删除。printf("删除后的顺序表为");printf("初始顺序表为:");//进行线性表的删除(给定位置的删除)//先判断能否插入,两种情况。//线性表的初始化 接受其返回值。//验证删除后的顺序表。//定义一个结构体,即顺序表。//开始插入,要移位。//打印出线性表,以检查对错。//往线性表中添加元素。//进行线性表的插入。
2023-10-11 02:43:20
41
原创 引用例题及解析
(5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(4)使用引用的时机。(2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。
2023-06-13 10:35:33
72
原创 类的继承试验任务(3)
定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。在此时,假如A中有一个函数fun()当然同时被B和C继承,而D按理说继承了B和C,同时也应该能调用fun()函数。这一调用就有问题了,到底是要调用B中的fun()函数还是调用C中的fun()函数呢?
2023-05-28 17:28:44
183
原创 博客摘录「 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)」2023年5月9日
指向常量的指针、常指针和指向常量的常指针。指向常量的指针:一个指向常量的指针变量。
2023-05-23 11:24:37
40
原创 类与对象试验任务(1)
其中:rank为枚举类型CPU_Rank,声明为 enum CPU_Rank{p1=1,p2,p3,p4,p5,p6,p7},frequency为单位是MHZ的整型数,voltage为浮点型的电压值。cout<<"一个CPU正在运行"<<endl;cout<<"一个CPU停止运行"<<endl;cout<<"构造一个CPU"<<endl;cout<<"析构一个CPU"<<endl;观察构造函数和析构函数的调用循序。
2023-05-23 11:23:02
32
原创 编写一个计数器counter类,对其重载运算符“+”
public:counter();private:value(0)int main()return 0;
2023-05-16 10:40:09
161
原创 【无标题】
编写一个名为cpu的类,描述一个cpu的以下信息:时针频率,最大不会超过3000MHz;字长,可以是32位或64位;核数,可以是单核,双核或四核;各项信息要求使用位域来表示。通过输出sizeof(cpu)来观察该类所占的字节数。
2023-05-09 11:19:00
29
原创 博客摘录「 《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)」2023年5月9日
带有默认参数值的函数当进行函数调用时,编译器按从左到右的顺序将实参与形参结合,若未指定足够的实参,则编译器按顺序用函数原型中的默认值来补足所缺少的实参。在函数调用时,若某个参数省略,则其后的参数皆应省略而采取默认值。不允许某个参数省略后,再给其后的参数指定参数值。在函数原型中,所有取默认值的参数都必须出现在不取默认值的参数的右边。
2023-05-09 10:25:45
51
原创 静态数据成员
定义一个Cat类,拥有静态数据成员numOfCats,记录Cat的个体数目;静态成员函数getNumOfCats(),存取numOfCats。
2023-04-25 10:33:31
24
原创 类的友元。
将一个函数声明为一个类的友元函数后,它不但可以通过对象名访问类的公有成员,而且可以通过对象名访问类的私有成员和保护成员。假设有两个无关系的类engine 和fuel,使用时,怎样允许fuel成员访问engine的私有成员和保护的成员。当一个类作为另一个类的友元时,就意味着这个类的所有成员函数都是另一个类的友元函数。因此必须将对象名或对象的引用作为友元函数的参数,这样才能访问到对象的成员。友元函数可以访问该类中的所有成员(公有的、私有的和保护的)友元不是该类的成员函数,但是可以访问该类的私有成员。
2023-04-23 10:52:55
87
原创 C++类与对象理解
cout << "Box1 的体积:" << volume <<endl;cout << "Box2 的体积:" << volume <<endl;cout << "Box3 的体积:" << volume <<endl;// 声明 Box1,类型为 Box。// 声明 Box2,类型为 Box。// 声明 Box3,类型为 Box。// box 1 的体积。// box 2 的体积。// box 1 详述。// box 2 详述。// box 3 详述。
2023-04-11 11:02:19
20
原创 虚函数和纯虚函数的区别
是在基类中使用关键字声明的函数。在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。我们想要的是在程序中任意点可以根据所调用的对象类型来选择调用的函数,这种操作被称为,或。
2023-04-11 10:59:44
23
原创 定义一个复数类Complex
c1.show();//将c1输出(这时的结果应该是7.5+5i)c1.add(c2);//将c1和c2相加,结果保存在c1中。//用复数3+5i初始化c1。//用实数4.5初始化c2。要求:使得下列的代码能够工作。
2023-04-04 11:27:45
72
原创 定义一个Dog类,包含age,weight等属性,以及对这些属性操作的方法。
class Dog{public:~Dog();return age;private:return 0;
2023-04-04 11:04:00
798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人