自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树遍历实现和非递归遍历实现

二叉树是一种很好的数据结构,每个根节点都有两个子节点二叉树有四种形态:1.空的二叉树,单纯是很多的指针2.只有根节点的二叉树3.只有左孩子或者只有右孩子指针的二叉树4.左右都完善的情况下A:完全二叉树B:满二叉树二叉树的遍历1.前序遍历(根在前面)2.中序遍历(根在中间)3.后序遍历(根在后面)#include<iostream>#include<string >using namespace std;typedef struct Treenode {

2021-04-12 20:21:25 94

原创 栈(链表)

文章目录栈队列栈一种先存储的先输出的结构属性:{1.栈头,2.栈尾,3.栈顶标志}操作:1.入栈 2.出栈 3.判断栈是否为空 4.获取栈顶元素我们下面依次来实现链表栈#include<iostream>using namespace std;struct Node{ int data; Node* next;};class stack {public: stack();//初始化 Node* creatnewNode();//创建新节点 void

2021-04-12 15:05:19 81

原创 运算符重载——递增减运算符

就像左移运算符和加号运算符重载一样,一般我们去重载一个运算符,都是为了给自己的的数据类型使用的先思考一个问题:int main (){int a=0;cout<<++a<<endl;cout<<a++<<endl;cout<<a;return 0;}这个代码会输出怎样的值?应该是:1,1,2第一个输出是先进行了递增操作再输出第二个输出是先输出再进行递增有的人说这怎么记啊,实际上就是就前原则,有递增符号就先进行递增,反之则先

2021-03-30 19:39:21 217

原创 运算符重载——左移运算符重载

对于一般的数据来说,左移运算符可以直接进行输出,但是对于一些我们自己定义的结构体和类来说,左移运算符是没有办法识别的,所以我们就必须对

2021-03-30 17:51:37 779

原创 运算符重载——加号运算符重载

对于计算机自带的数据类型,可以使用加减乘除。但是对于我们自己定义的数据类型,计算机就不知道了。这个时候我们就要对运算符进行重载,给原来的运算符加上新的功能。搞个例子:1.成员函数重载运算符class Person{public: int m_a; int m_b; Person operator+(Person p);//operator+是编译器自带的函数名};Person operator+(Person p){ Person temp; temp.m_a=this->m_

2021-03-30 10:55:53 278

原创 友元

class Buliding {friend void goodgay(Building &p);//友元的申明public: Building(){ m_settingroom="客厅"; m_bedroom="卧室"; } string m_settingroom; private: string m_bedroom;};void goodgay(Building &p){ cout<<"好基友正在访问"<<p.sett

2021-03-20 19:28:28 94

原创 const修饰成员函数

const修饰成员函数const本身是用来限制只读状态的关键字,也是是说在对象中会有只读的内容不同意修改。常函数1.成员函数后面加const称之为常函数2.常函数内无法修改成员属性3.成员后面加mutable关键字,在常函数中也可以继续修改常对象1.在申明对象前加上const,称之为常对象2.常对象只能调用常函数...

2021-03-20 16:21:11 64

原创 this指针

每一个非静态成员函数都只会生成一个函数实例,所以多个同类型对象会公用一块代码。这一块代码如何区分不同的对象呢?C++通过特殊的指针this指针来解决这个问题。this指针指向被调用的成员函数的对象。举例:一个男生(函数)脚踏三条船,他同时如何处理三个女生?(被三个对象调用),满足三个女生的不同要求(执行函数)this指针的具体操作:1.形参和成员变量重名2.类的非静态函数中返回对象本身,可以使用return *thisclass Person {public: Person(int

2021-03-19 22:07:37 62

原创 C++引用

一块内存,两个名字引用的基本语法例:int a=10;int &b =a; //此时b引用了ab=20;cout<<a;出来的就是20.因为b和a都指向了同一块内存。———我是分割线—————————————————————引用的注意点1.引用必须初始化2.引用初始化完毕后就不能改变了。int a=10;int &b=a;//我们不能单独定义一个b而不初始化//int &b这种格式是非法的inty c=20;//我们已经初

2021-02-22 11:07:49 73

原创 指针与数组与函数的实例

要求封装一个函数,用冒泡排序对整形数组进行排序。我们如何在函数中加入数组,我们知道数组的名字就是数组的首地址所以我们的变量是指针,把实参用指针代入形参。在函数中只能调用数组的首地址,我们是无法在函数中算出数组的长度的,所以在我们输入变量的时候就要把数组的长度也输入进去#include<iostream>#include<algorithm>using namespace std;void paixu(int* p, int a)//我们如何在函数中加入数组,我们知道数组的

2021-02-02 21:23:21 69

原创 const修饰指针

文章目录一、const修饰指针——常量指针二、const修饰常量——指针常量三、const既修饰指针又修饰常量总结一、const修饰指针——常量指针常量指针可以改指向,但是不可以通过指针去修改指向的内容。下面用代码说明一下int main(){ int a =10; int b 100; int* p = &a;//此时p指向a,p的值是a的地址 cout << *p << endl; p = &b;//此时p指向b,p的值是b的值 cout.

2021-02-02 13:24:02 241

原创 指针的定义与使用

C++的难点与重点,众多C++程序员的噩梦,指针。指针的用途:间接访问内存。指针是一种数据类型就和int,double一样,只不过指针是用来存储地址的。(我是这么理解的)每当我们定义一个变量就会给他分配内存,就像是建了一个房子,而内存地址就是这个房子的门牌号,我们通过对门牌号的查询找到这个房子,来找到这个房子里住的是谁,也就是这个变量。这就是通过指针间接访问内存。指针变量也是变量也要有房子(内存),也要有门牌号(地址),装着指针的内存里面是别人的地址。一、如何定义一个指针。int a=10;

2021-01-31 22:29:52 856

原创 值传递中的形参与实参

在值传递的时候,要注意的是,形参不会影响实参。下面用代码来演示一下。#include<iostream>using namespace std;void(int num1,num2){ int temp=num1; num1=num2; num2=temp;//在这里我们交换了两个形参。 cout<<num1<<num2;}int main (){ int a=10; int b=20; cout<<a<<endl<

2021-01-30 21:24:36 183

原创 switch选择语句

感谢黑马程序员在B站的视频这次是选择结构里面的知识点。直接上实例好了。电影评价;9~10分 经典电影7~8分 非常好5~6分 一般5以下 烂片下面是代码实现include<iostream>usaing namespace std;int main (){ cout<<"请给电影进行打分。" int score=0; cin>>score; //接下来对分数做出反馈 switch(score)//这里指的是switch的

2021-01-30 16:03:29 98 1

原创 GO TO,很强大的工具。

感谢B站黑马程序员的视频。头一次听说有这么个玩意儿,听说由于功能过于“强大”被封印了,还是做一下记录,看上去感觉还可以。go to可以跳转到你做标记的地方继续运行代码cout<<“a”;cout<<“b”;cout<<“c”;cout<<“d”;cout<<“e”;这样输出结果是abcde,我把go to加进去。cout<<“a”;go to FLAG;cout<<“b”;cout<<“c

2021-01-29 15:56:47 126

原创 C语言风格与C++语言风格的字符串类型

是看了视频教学之后的笔记,这里隔空感谢B站黑马程序员。字符串是一种数据类型,本质上是为了简化多次重复的长串字符的反复调用。下面展示一下 如何定义字符串。char str [] = " hello world " (C语言中的这种定义方式让我觉得本质上是一种字符数组)...

2021-01-27 19:16:57 130

原创 2020-10-18

#佛祖保佑,不出bug老师布置的作业,做字符画,然后我就挑了很有名的佛祖保佑系列。接下来是原代码内容。#include #include #include<stdio.h>using namespace std;void _(int A){for(int B=1;B<=A;B++)//这个控制空格数的函数问了大佬才搞定。{printf(" ");}}int main(){(35);string a(“oo0oo”);cout<<a<&l

2020-10-18 15:07:05 448

空空如也

空空如也

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

TA关注的人

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