
C++
奋斗C++
学习
展开
-
DAP下载器Error: Flash Download failed - “Cortex-M3“解决方法
DAP下载器Error: Flash Download failed - “Cortex-M3“解决方法原创 2022-05-25 20:52:22 · 2263 阅读 · 4 评论 -
实现一个函数,把字符串 s 中的每个空格替换成“%20
字符串替换#include<iostream>#include<string>using namespace std;/*请实现一个函数,把字符串 s 中的每个空格替换成"%20"实现思路: 首先遍历字符串中存在的空格数量,获取新字符串长度 malloc创建一个新的空数组,长度为上一步求得的 遍历s中出现的第一个空格,出现,则替换,循环至结束*/void func(string s) { int a = s.size(); int count = 0;原创 2021-06-17 20:03:50 · 648 阅读 · 0 评论 -
快速排序 Quick Sort
快速排序 Quick Sort思想:代码:#include<iostream>#include<algorithm>using namespace std;//对arr[l,r]部分调用partition操作//该函数作用为返回一个p值,使得arr[l..p-1]<arr[p]&&arr[p]<arr[p+1...r];template<typename T>int __partition(T arr, int l,原创 2021-05-23 10:38:18 · 216 阅读 · 0 评论 -
找出数组中重复的数字。
找出数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路(1)将无序的n个数组排成有序数组(2)找出重复的数字本文中使用的插入排序的方式,算法优化可考虑O(nlogn)算法,注意:在leedcode中使用选择排序的方式报超出时间限制。代码代码块:class原创 2021-05-22 20:04:48 · 268 阅读 · 0 评论 -
插入排序(insertionSort)
插入排序(insertionSort)基本思想8 6 2 3 – 6 8 2 3 – 6 2 8 3 – 2 6 8 3 …代码实现:#include<iostream>using namespace std;template <typename T>void insertionSort(T arr[],int n) { for (int i = 1; i < n; i++) { for (int j = i; j > 0; j--) { if原创 2021-05-13 15:05:08 · 215 阅读 · 0 评论 -
C++随机生成算法测试用例
C++随机生成算法测试用例问题描述:对于所写算法的测试用例,设计一种随机生成一种测试数据的方式例:随机生成一个数组,该数组包含0-99这100个数。解决思路:(1)创建一个新SortTestHelper.h文件,用于书写测试代码(2)创建一个新的命名空间namespace generateRandomArrary,该内容返回一个随机生成的数组部分函数功能及作用rand()函数1 rand()函数不需要返回值,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。原创 2021-05-12 08:58:35 · 1497 阅读 · 0 评论 -
选择排序(selectionSort)
#include<iostream>#include<algorithm>using namespace std;//泛型模板函数template<typename T> //排序输入参数:一个数组无论类型,一个数组容量大小。排序时使用下标的方式void selectSort(T arr[], int n) { for (int i = 0; i < n; i++) { int minIndex = i; for (int j = i + 1原创 2021-05-10 16:32:52 · 241 阅读 · 0 评论 -
C++中,字,字节,位的关系
字(word)、字节(byte)、位(bit)字 word : 1字=2字节(1 word = 2 byte ) 字长是指字的长度字节byte :1字节=8位(1 byte = 8 bit)位 bit一个字的字长为16一个字节的字长是8原创 2021-04-08 20:32:20 · 1349 阅读 · 0 评论 -
C++一刷
1 C++书写hello worldmain是一个函数的入口,有且只有一个注释方式:单行注释//;多行注释/* */;#include<iostream>using namespace std;int main(){ cout << "hello world" << endl; system("pause"); return 0;}1.3 变量作用:给一段指定的内存空间起名,方便操作这段内存。1.4 常量作用:用于记录程序中原创 2021-04-01 17:24:28 · 133 阅读 · 0 评论 -
A+B中各位数字相加最大问题
题目现有一个数字n, 使得这个数字拆分成两个非负整数相加,使得a+b=n;对于每一种拆分的方案,我们定义一个价值val = s(a)+s(b);其中s(x)代表x的数位和,比如x=1234,则s(x) = 1+2+3+4;现求可选择方案中val最大的值。代码#include<iostream>#include<vector>#include<string>#include <algorithm>using namespace std;bo原创 2020-08-24 10:40:08 · 332 阅读 · 0 评论 -
C++斐波那契数列螺旋倒序输出
题目输入第一行表示斐波那契数列的行数n;(行数即列数);输出为斐波那契数列螺旋倒序输出(顺时针);代码#include <iostream>#include <vector>#include <algorithm>#include <cmath>using namespace std;int a = 1,b = 1;vector<int> shulie(int k){ vector<int> v; v原创 2020-08-22 15:59:24 · 707 阅读 · 1 评论 -
A+B题目
题目设a,b,c是0到9之间的任意数字,且互不相同,现需要给定一整数n,使得abc+acc=n,这一关系式满足,其中abc,acc是两个不相同的三位数。输入描述:一个正整数n;输出描述:第一行输出满足条件的有多少对数字;接下来每一行打印满足条件的额abc和acc;代码#include<iostream>#include<vector>using namespace std; void main(){ int n; cin>>n; int a原创 2020-08-22 10:28:16 · 405 阅读 · 0 评论 -
类对象作为成员
类对象作为成员如果使用了字符串,一定进行声明;类对象作为成员时,调用格式为:Person p1("有钱人");p1.GoWorkByCar();#include<iostream>#include <string>using namespace std;class Car{public: Car() { cout << "Car默认构造函数" << endl; mName = "大众汽车"; } Car(string原创 2020-05-09 11:55:44 · 295 阅读 · 0 评论 -
多个对象构造和析构
多个对象构造和析构初始化列表构造函数和其他函数不同,除了名字,参数列表,函数体之外还有初始化列表。初始化列表简单使用://传统初始化列表 /*Person (int a,int b,int c) { m_A = a; m_B = b; m_C =c; }*///初始化列表方式初始化 Person(int a,int b,int c):m_A(a),m_B(b),...原创 2020-05-07 12:52:57 · 289 阅读 · 0 评论 -
深拷贝与先拷贝
深拷贝与先拷贝浅拷贝同一类型的对象之间可以赋值,使得两个对象的成员变量相同,两个对象仍然是独立的两个对象,这种情况下称为浅拷贝。一般情况下,浅拷贝没有任何的副作用,但是当类中有指针,而且指针指向动态分配的内存空间,析构函数做了动态内存释放的处理,会导致内存问题。主要问题出现在----析构函数的析构上深拷贝当类中有指针时,并且此指针有动态分配空间,析构函数做了释放处理,往往需要自...原创 2020-05-06 19:20:20 · 341 阅读 · 0 评论 -
拷贝函数的调用时机及构造函数的调用规则
拷贝函数的调用时机1.对象以值传递的方式传给函数参数;2.函数局部对象以值传递的方式从函数返回(vs debug)模式下调用一次拷贝构造,qt不调用任何构造;3.用一个对象初始化另一个对象;第一种:void text01(){ Person p0; Person p1(10); cout<<p1.m_age<<endl; Person p2(p1);//...原创 2020-05-05 19:27:32 · 790 阅读 · 1 评论 -
构造函数的分类及调用
构造函数的分类及调用介绍简单例子代码介绍构造函数需要在类里面的PUBLIC下进行书写,只有这样才会调用构造函数。构造函数按参数类型可分为有参构造和无参构造按类型分类可分为普通构造函数和拷贝构造函数简单例子以Person作为一个类,先写几个构造函数和析构函数,重点学习拷贝构造函数。拷贝构造函数基本格式为:Person(const Person& P) { cout&...原创 2020-05-02 18:59:47 · 349 阅读 · 0 评论 -
构造和析构函数
对象的初始化和清理(构造和析构函数)在C++中,当我们创建对象的时候,这个对象应该有一个初始状态,这时候就需要一个构造函数,那么,当对象在销毁之前应该销毁自己创建的一些数据,即为析构。其实在C++中,对象的初始化和清理工作是编译器强制我们要做的事情,即使我们不提供不提供构造函数和析构函数,编译器也会增加默认的操作,只是这个默认初始化操作不会做任何事,所以编写类就应该顺便提供初始函数。构造函数...原创 2020-04-06 17:56:07 · 407 阅读 · 0 评论 -
面向对象设计案例
面向对象设计案例编写程序,计算立方体的面积和体积。程序计算一个立方体的面积1:产生一个类,私有其长宽高,public里中写入设置长宽高函数和面积函数2:写一个子函数text01,来传递此立方体的长宽高,和面积公式函数3:主程序main输出text01;``#include<iostream> using namespace std; class Cub{pu...原创 2020-04-06 17:06:02 · 689 阅读 · 0 评论