- 博客(14)
- 收藏
- 关注
原创 类和对象(4)运算符重载
c++小白有感于类和对象的复杂,学习b站黑马程序员的相关视频后,发文以总结。运算符重载概念:对已有的运算符进行定义,赋予其另一种功能,以适应不同的数据类型加号运算符重载作用:实现两个自定义数据类型相加的运算#include<iostream>using namespace std;//加号运算符重载class Person{public: int m_A; int m_B; //成员函数重载加号 //Person operator+(Person & p
2021-04-01 11:20:16 304 1
原创 类和对象(3)友元
c++小白有感于类和对象的复杂,学习b站黑马程序员的相关视频后,发文以总结。友元友元的目的是人一个函数或类访问另一个类中私有成员友元关键字为 friend友元的三种实现:1、全局函数做友元;2、类做友元;3、成员函数做友元.全局函数做友元#include<iostream>using namespace std;class Building{public: Building(){ m_SittingRoom="客厅"; m_BedRoom="卧室"; }
2021-03-24 19:17:37 121 1
原创 类和对象(2)对象特性
c++小白有感于类和对象的复杂,学习b站黑马程序员的相关视频后,发文以总结。对象的初始化和清理构造函数和析构函数构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。析构函数:主要作用于对象销毁前系统自动调用,执行一些清理工作。构造函数语法:类名(){}1、构造函数没有返回值也不用写void;2、函数名称与类名相同;3、构造函数可以有参数,因此可以发生重载;4、程序在调用对象时候会自动调用构造,无须手动调用,而且只会调用一次。析构函数语法:~类名(
2021-03-22 19:31:52 372 3
原创 黑马程序员匠心之作小白学习记录(基础知识)
/////大一小白,B站黑马程序员学习记录(基础知识)程序流程结构数组函数指针结构体////程序流程结构顺序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应功能循环结构:依据条件是否满足,循环多次执行某段代码///选择结构//if语句if(条件){//条件满足时执行语句}注意事项:if条件语句后不要加分号if(条件){//条件满足时执行语句};else{//条件不满足时执行语句};/嵌套if语句if(){if(){}}/案例:三只小猪称体重#
2020-12-26 00:54:43 149
原创 LeetCode刷题——算法入门第三天
“前情回顾”:LeetCode刷题——算法入门第一天LeetCode刷题——算法入门第二天经过昨天的学习我们学习了双指针,而今天我们将继续巩固双指针并复习二分查找。显然是双指针问题,我一开始的思路是设立两指针分别指向起始点和终点,并通过循环里的判断语句来更新指针。class Solution {public: void moveZeroes(vector<int>& nums) { int i=0; int j=nums.size()
2022-04-30 19:25:41 208
原创 LeetCode刷题——算法入门第二天
“前情回顾”:LeetCode刷题——算法入门第一天经过昨天的学习,我们学习了二分查找,而今天我们将学习双指针。双指针从广义上来说,是指用两个变量在线性结构上遍历而解决的问题。对于数组,指两个变量在数组上相向移动解决的问题;对于链表,指两个变量在链表上同向移动解决的问题,也称为「快慢指针」问题。开始上题一开始看到此题,脑子里立刻冒出来思路,先平方再排序:class Solution {public: void QuickSort(vector<int>&arr
2022-04-29 16:42:33 320
原创 LeetCode刷题——算法入门第一天
LeetCode刷题——算法入门第一天从今天开始进行力扣刷题来提升编程能力今天学习了二分法,二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法,可以在数据规模的对数时间复杂度内完成查找。二分查找可以应用于数组,是因为数组具有有随机访问的特点,并且数组是有序的。二分查找体现的数学思想是「减而治之」,可以通过当前看到的中间元素的特点推测它两侧元素的性质,以达到缩减问题规模的效果。话不多说,开始上题目题解二分查找的入门题,本质是找到target下标,套入二分查找模板即可。
2022-04-28 19:46:42 241
原创 类和对象(1)封装
c++小白有感于类和对象的复杂,学习b站黑马程序员的相关视频后,发文以总结。c++面向对象的三大特性为:封装、继承、多态。封装封装的意义1:将属性和行为作为一个整体表现生活中的事物;include<iostream>using namespace std;//设计一个圆类,求圆的周长//class代表设计一个类,类后面紧跟着类名称(与结构体类似)const double PI =3.14;class Circle{ //访问权限public: //属性 int m_r
2021-03-15 16:58:15 102 2
原创 黑马程序员匠心之作小白学习记录(数组)
/////大一小白,B站黑马程序员学习记录(数组)数组概述一维数组二维数组////数组概述所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的////一维数组///一维数组定义形式1.数据类型 数组名 【数组长度】;2.数据类型 数组名 【数组长度】={值1、值2……};(未填充默认0)3.数据类型 数组名【】={值1、值2……};(自动推出数组长度)数组从下标0开始索引for循环打印数组///一
2020-12-27 18:42:49 93
原创 约瑟夫问题
第二次上机作业(4)//数学方法约瑟夫问题:n个人围成一个圈,从1开始顺序编号,游戏开始,给定1-n区间内一数m,从第一个人开始报数,报到m的人退到圈外,问最后胜利的人的初始编号。题目分析:若想知最后胜利的人编号,则仅需知最后一个出圈的人,若要知最后一个出圈的人的编号,则需知倒数第二个出圈的人的编号,类推得到下列表达式f[i]=(f[i-1]+m)%i故可简化约瑟夫问题为#includeusing namespace std;int main(){int n, m, s = 0;cin
2020-12-11 09:28:23 412
原创 判断字符串是否回文
第二次上机作业(3)//string 和.size#include<iostream>#include<string>using namespace std;int main() { string carray[100],x; int is_palindrome = 1; cout << "请输入一组字符串" << endl; getline(cin, x); int len = x.size(); for (int i = 1; i &
2020-12-10 20:02:24 106
原创 已知一个矩阵,将矩阵中和值最大的一行元素与首行互换
第二次上机作业(1)//输入任意矩阵及行交换//for语句,数组的应用#include<iostream>#include<cmath>using namespace std;int a[1000][1000];//用于后面矩阵的构建int b[1000];//交换行的容器,这里也可用字母代替,不一定用数组int n,m;//n为行数,m为列数int maxi,maxsum,sum;//用于行元素的求和及大小比较,maxi为和最大行int main(){ c
2020-12-07 23:44:08 754
原创 已知一个方阵,计算上三角形所有元素和,主对角线所有元素和,下对角线所有元素和
第二次上机作业(2)//分离方阵为上三角形,主对角线和下三角形//for语句和数组的应用#include<iostream>#include<cmath>using namespace std;int main() { int n; int sum1=0, sum2=0, sum3=0; int a[100][100]; cin >> n ; for (int i = 1; i <= n; i++) { for (int j = 1; j
2020-12-07 23:41:45 866
原创 第一次上机作业
1#include<iostream>using namespace std;int main(){ int a,b,c,temp; cin>>a>>b>>c; if(a<b) { temp=a; a=b; b=temp; } if(a<c) { temp=a; a=c; c=temp; } if(b<c) { temp=b; b=c; c=temp; } cout<&
2020-11-13 12:36:41 102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人