
C++
犹有傲霜枝
这个作者很懒,什么都没留下…
展开
-
C++ 判断某个变量是某一种类型
C++ 判断某个变量是某一种类型例如判断一个变量是否是vector<int>类型?#include <iostream>#include <vector>int main(){ std::vector<int> a = { 1,2,3,4,5 }; // std::vector<std::vector<int>> b = { {1,2},{3,4} }; std::cout << (typeid(a).n原创 2020-09-10 20:20:32 · 2898 阅读 · 0 评论 -
visual studio: 已取消一个任务
visual studio: 已取消一个任务出现错误的原因不明,希望搞明白的可以评论留言,感谢!!!VS的输出提示如下:输出列表没有任何的提示,“重新生成“也没有用,误打误撞,解决了。删除Debug文件夹视图 →\rightarrow→ 其他窗口 →\rightarrow→ 属性管理器右键点击"项目" →\rightarrow→ 添加新项目属性表添加(项目中多了一个.props的文件,在重新生成,然后编译调试即可)...原创 2020-09-10 17:11:45 · 7469 阅读 · 5 评论 -
C++ 构造函数的小常识
C++ 构造函数的小常识C++类中会提供默认构造函数,但不一定如下方代码:如果自己写了带参数的构造函数,类将不会提供默认构造函数A() {};,体现在继承时,子类的构造函数,要主动调用父类的构造函数class A{private: int a;public: //A() {}; // 默认构造函数 A(int _a) :a(_a) {}; // 自定义构造函数 void get_A() { cout << "a: " << a << en原创 2020-08-28 11:57:13 · 203 阅读 · 0 评论 -
N个人过桥(类似N个人过河)
题目描述n个人要过一座桥,只是在漆黑的夜里,没有火把显然是不行的。但是这n个人只有一个火把,并且这座桥每次最多只能通过两个人。每个人的速度不同,若两人组队,队伍速度等于较慢一人的速度。你要做的是计算这n个人全部通过这座桥的最少时间。输入多组输入。每组数据的第一行是输入一个n``,代表有n(1 <= n && n <= 500)个人,接下来的n`个整数,代表着每个人穿过这座桥所需要的时间。输出输出一个整数,代表最优策略所需时间sum。示例输入411052原创 2020-08-21 21:57:09 · 1050 阅读 · 0 评论 -
基数排序——C++实现
基数排序——C++实现template_head.h#include <iostream>#include <vector>#include <string>#include "../head_file/template_head.h"using namespace std;void radix_sort(){ cout << "Radix Sort!!!" << endl; int arr[] = { 73, 22,原创 2020-08-15 10:56:22 · 427 阅读 · 0 评论 -
桶排序——C++实现
桶排序——C++实现template_head.h#include <iostream>#include <vector>#include "../head_file/template_head.h"using namespace std;void bucket_sort(){ cout << "Bucket Sort!!!" << endl; vector<int> list = { 8,9,1,7,2,3,5,4,6,0,原创 2020-08-15 10:54:05 · 992 阅读 · 0 评论 -
快速排序——C++实现
快速排序template_head.h#include <iostream>#include <vector>#include "../head_file/template_head.h"using namespace std;void quick_sort(){ cout << "Quick Sort!!!" << endl; vector<int> list = { 8,9,1,7,2,3,5,4,6,0,11,9,8原创 2020-08-15 10:44:41 · 219 阅读 · 0 评论 -
堆排序——c++实现
堆排序——c++实现大根堆和小根堆数组实现时索引的关系:基本思路以升序为例:将待排序的数据,构造出大根堆(数组实现),索引从 0 开始:假设当前节点索引为i,其父节点索引为 (i-1)/2,左儿子索引 2i+1 和右儿子索引 2i + 2将大根堆的顶端根元素和末尾交换,固定交换后的最大的元素,2.1 是否排序成功,是的话结束,不是跳转3将剩下的元素从堆顶开始调整为新的大根堆,跳转2#include <iostream>#include "../head_file/t原创 2020-08-15 10:42:39 · 320 阅读 · 0 评论 -
希尔排序——C++实现
希尔排序C++实现很有意思,有点像归并排序,但是分组的策略不同。希尔排序的分组策略是a[i+k*gap]一组,k=0,1,2…。template_head.h#include <iostream>#include "../head_file/template_head.h"#include <vector>using namespace std;void shell_sort(){ cout << "Shell Sort!!!" <<原创 2020-08-15 10:37:30 · 429 阅读 · 0 评论 -
选择排序——C++实现
选择排序如图,每次在黄色的部分选择最小的数,和黄色部分第一个数进行交换,每次都将最小的给选择出来,所以叫选择排序template_head.h#include <iostream>#include "../head_file/template_head.h"#include <vector>using namespace std;void selection_sort(){ cout << "Selection Sort!!!" <<原创 2020-08-15 10:30:32 · 154 阅读 · 0 评论 -
插入排序——最简单的、和模板方法的C++实现
插入排序后期考虑使用模板示意图如上图所示,每次都将一个数组右侧无序部分的第一个,插入到左边有序的部分。插入的过程是在有序部分从右向左,不断交换位置。代码#include <iostream>using namespace std;int* sort_num(int arr[], int n);void insertion_sort(){ int list[] = { 34,8,64,51,32,21 }; int len = 6; int* p; p = so原创 2020-08-15 10:23:59 · 377 阅读 · 0 评论 -
冒泡排序——C++实现
冒泡排序——C++实现// bubble_sort.cpp#include <iostream>#include "../head_file/template_head.h"#include <vector>using namespace std;void bubble_sort(){ cout << "Bubble Sort!!!" << endl; vector<int> list = { 8,9,1,7,2,3,5,4,原创 2020-08-15 10:04:23 · 191 阅读 · 0 评论 -
排序算法通用头文件——template_head.h
排序算法C++实现的通用头文件// template_head.h#pragma once//#include "../sort_algorithms/BinaryHeap.tpp"#include <vector>#include <string>template <typename Container>void printList(Container& list) { for (auto &x : list) { std::co原创 2020-08-15 10:01:06 · 748 阅读 · 0 评论 -
c++ 归并排序 - 模板函数写法
归并排序 - 模板函数写法// merge_sort.cpp#include <iostream>#include <vector>#include "../head_file/template_head.h"using namespace std;void merge_sort(){ cout << "Merge Sort!!!" << endl; vector<int> list = { 8,9,1,7,2,3,5,4,6原创 2020-08-04 15:23:19 · 681 阅读 · 0 评论 -
C++变量定义和赋值
#include <iostream>using namespace std;/* 变量定义和赋值: 变量类型说明符 + 变量名 多个变量名用逗号分隔,结尾分号。 变量赋初值: double price = 109.99, discount = price * 0.16; double salePrice = applyDiscount(price, d...原创 2019-09-30 10:37:40 · 4910 阅读 · 0 评论 -
C++复合类型:引用和指针
C++复合类型:引用和指针#include <iostream>using namespace std;/* 复合类型:基于其他类型定义的类型 常见:引用、指针 引用:1. 右值引用(rvalue reference) 2. 左值引用(lvalue reference) 引用必须是一个对象,引用就是起一个别名,引用必须初始化。 指针:是“指向...原创 2019-10-03 18:57:16 · 278 阅读 · 0 评论 -
C++类型别名
C++类型别名#include <iostream>using namespace std;typedef double db;typedef db db1;using integer = int;/* 处理类型: 类型别名: 1. typedef double db; typedef db db1; // 将double起了一个别名db,同时...原创 2019-10-04 15:31:23 · 273 阅读 · 0 评论 -
C++自定义数据结构
C++自定义数据结构#include <iostream>void selfDefinedDataStructure() { std::cout << "自定义数据结构:" << std::endl; // 自定义Sales_data数据类型 // struct + 类名 + 类体 // 类体中定义类的“成员”,次数的“成员”只有数据成员(dat...原创 2019-10-04 16:36:21 · 1008 阅读 · 0 评论 -
C++之String标准类库
C++之String标准类库基础#include <iostream>#include <string>using namespace std;/* 初始化方式:拷贝初始化、直接初始化 string s1 = "haha"; // 拷贝初始化 string s2("haha"); // 直接初始化*/void testString() { ...原创 2019-10-06 20:03:42 · 299 阅读 · 0 评论 -
C++之vector标准库
C++之vector标准库#include <iostream>#include <vector>/* vector: 表示一组“类型相同”的对象的“集合”,集合中每个对象都有“索引”与之对应, vector常被称作“容器(container)”*/using namespace std;void testVector() { cou...原创 2019-10-08 09:36:21 · 232 阅读 · 0 评论 -
C++之迭代器
C++之迭代器#include <iostream>#include <vector>#include <string>using namespace std;/* 迭代器:可迭代的(容器或者string对象)的访问机制,类似指针 string s; auto b = s.begin(), e = s.end(); // b是s的首字符,...原创 2019-10-08 14:27:23 · 169 阅读 · 0 评论 -
C++数据类型和类型转换
数据类型:算术类型类型符号位数(bit)范围短整型:short8-2^{15} ~ 2^{15}-1整形:int32-2^{31} ~ 2^{31}-1长整型:long长整型:long long64单精度浮点型:float6位有效数字双精度浮点型:double10位有效数字扩展精度浮点型:long...原创 2019-09-30 10:35:17 · 158 阅读 · 0 评论