自定义博客皮肤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 162

原创 栈(链表)

文章目录栈队列 栈 一种先存储的先输出的结构 属性:{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 159

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

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

2021-03-30 19:39:21 291

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

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

2021-03-30 17:51:37 914

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

对于计算机自带的数据类型,可以使用加减乘除。但是对于我们自己定义的数据类型,计算机就不知道了。这个时候我们就要对运算符进行重载,给原来的运算符加上新的功能。 搞个例子: 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 370

原创 友元

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 145

原创 const修饰成员函数

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

2021-03-20 16:21:11 117

原创 this指针

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

2021-03-19 22:07:37 110

原创 C++引用

一块内存,两个名字 引用的基本语法 例: int a=10; int &b =a; //此时b引用了a b=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 119

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

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

2021-02-02 21:23:21 128

原创 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 314

原创 指针的定义与使用

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

2021-01-31 22:29:52 987

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

在值传递的时候,要注意的是,形参不会影响实参。 下面用代码来演示一下。 #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 243

原创 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 176 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 194

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

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

2021-01-27 19:16:57 212

原创 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 804

空空如也

空空如也

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

TA关注的人

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