自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 expected identifier or ‘(’ before ‘***’

问题描述:产生这个报错的原因是因为我在定义全局变量之后在全局区就用for循环进行初始化,而for循环只能在函数中被调用所以产生了错误,解决方法:把初始化放进main函数中@Overridestruct THREAD{ int cfd; pthread_t tid; struct sockaddr_in client; };//定义全局变量struct THREAD thread[100]; //结构体数组int k;for(k = 0; k <

2022-01-03 20:39:08 2257

原创 广度优先搜索和深度优先搜索

文章目录1. 前言2. 广度优先搜索和深度优先搜索1)深度优先搜索2)广度优先搜索3. 深度优先搜索算法框架1)二叉树深度优先搜索模板2)图深度优先搜索模板3)二维矩阵深度优先搜索模板4. 广度优先搜索算法框架1)单源广度优先搜索2)多源广度优先搜索3)双向广度优先搜索1. 前言    深度优先搜索算法的基础是递归,如果你对递归还不熟悉的话,建议先去看看递归的概念,做一些递归的练习题,也可以看我之前写的递归的文章:递归算法详解2. 广度优先搜索和深度优先搜索     在这篇文章中同时总结下广度优

2021-11-22 10:21:51 7718 1

原创 回溯算法及解题模板

文章目录1. 什么是回溯算法?2. 回溯算法的框架3. 针对不同题型的解题模板1.所给数组中的元素互不相同,结果包含所有元素总结1. 什么是回溯算法?    回溯算法其实是一种穷举的搜索方法,利用回溯解决问题就是在穷举所有的可能,然后找到我们想要的答案。使用回溯算法时需要考虑如下的三个问题:    (1) 可选列表:所有可作出的选择;    (2) 已选列表:也就是之前已经做出的选择;    (3) 结束条件:当已选列表满足题目条件,可以结束穷举;2. 回溯算法的框架vector&l

2021-11-20 11:06:08 2282

原创 递归算法详解

本篇博客的主要内容如下1. 什么是递归2. 递归三要素3. 递归的优缺点4. 递归的优化1. 什么是递归    相信很多人开始学算法,第一个接触的就是递归,为什么要先学递归呢?这是因为递归是其他算法的基础,像深度优先搜索、分治算法、回溯算法都是在递归的基础上做出一些改进。那到底什么是递归呢?递归 = 递进 + 回归,递进的意思是把复杂的问题逐步的拆解成和原问题类似的子问题,直到我们一眼就能看出子问题的答案为止(也就是递归终止条件);而回归和递进正好相反,当我们求解了最简子问题后,我们就能求解上一层的子问

2021-11-15 11:50:31 2518

原创 分治算法详解

本篇博客的主要内容如下1. 什么是分治算法2. 分治算法的解题步骤3. 分治算法的例题1. 什么是分治算法    分治就是 “分而治之”,其本质就是将原问题分解成规模更小的子问题,然后将子问题求解的结果合并成原问题的答案。其实有很多算法本质上都是这个思想,比如说动态规划通过状态转移方程从子问题的最优解推导出全局的最优解,又比如说递归通过递推关系式将问题不断分解成和原问题相似但是规模更小的子问题。2. 分治算法的解题步骤分治的核心思想就是:分解+合并:     分解:将原问题(大问题)分解成和原问题

2021-11-10 12:23:15 3065 1

原创 const常量、const指针、指向const常量的指针和指向常量的const指针的区别

1. const常量变量可以通过const关键字定义为常量,并且常量定义的时候必须为其赋值初值,一旦定义为常量后其值就不能更改,定义格式:const type var_name = 初始值; const int num = 10; // 必须在定义的时候就初始化,后续不能再进行初始化 num = 11; //错误,常量的值不能更改 int num2 = num; // 可以执行,这里是将num的值赋值给其他变量,并没有修改num的值2. const指针将指针定义为不可变,其所指向的地址一旦

2021-07-03 13:41:51 191

原创 C++用ofstream先写入文件再用ifstream读取文件,数据读取失败

先上代码:#include<string>#include<iostream>#include<fstream>using namespace std;int main() { string sarr[] = {"this","study","unable","to","open","the","necessary","the","end","unable","this","open"}; int str_size = sizeof(sarr) / siz

2021-05-18 11:15:01 1008

原创 使用copy函复制vector对象,将vector作为函数参数时发生 Debug Assertion Failed 错误

先来看一下代码:#include<vector>using namespace std;int main() { const int elem_size = 8; int ia[elem_size] = { 12,8,43,0,6,21,10,7 }; vector<int> ivec(ia, ia + elem_size); vector<int> ivec2; copy(ivec.begin(), ivec.end(), ivec2.begin())

2021-05-17 12:13:42 374

原创 一文看懂哈希表并学会使用C++ STL 中的哈希表

    最近在刷题以及做编程练习的作业时经常会用到哈希表,碰到一些想用的函数时每次都看别人的博客,现结合别人的博客对哈希表做个总结。本篇哈希表的作用如何使用STL库中的哈希表STL中哈希表的常用函数哈希表的作用如何使用STL库中的哈希表STL中哈希表的常用函数...

2021-05-17 11:22:49 47826 5

转载 关于vector在类中声明出错的情况

文章转载自:https://blog.csdn.net/biechusheng231/article/details/80034126当我们在类声明文件(类.h)中定义了一个vector变量时,如果直接在其后对其初始化:class A{public: A(); ~A();private: vector<int> nums(10); //出错,不能直接调用vector的析构函数赋值};原因是在类声明.h 文件中不能直接调用vector类的析构函数赋值,应先

2021-04-28 21:08:55 773

原创 类中定义static变量后,visual studio编译时提示LNK2001“无法解析的外部符号”

编译结果如下:原因:当我们在定义的类内要使用自己所定义的静态变量时,由于我们类内定义该静态变量时未对其进行初始化,因此要解决这个问题,要在类外的使用class scope(::)对它进行初始化解决方法:Class A{static int var;}int A::var = 0; //对静态变量初始化```...

2021-04-28 20:59:23 917

原创 二维数组作为函数的参数和返回值

1. 二维数组作为函数的参数 (1)错误的做法:将二维数组传递给二维指针//实参是二维数组,形参是int**,这样做的话编译器会报错int main() { int arr[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 }; int row = sizeof(arr) / sizeof(arr[0]); //行数 int column = sizeof(arr[0]) / sizeof(arr[0][0]); //列数

2021-04-28 20:56:35 3613 2

原创 输出指向字符/字符串数组的指针变量输出乱码的情况

首先来看一下以下几种情况: char c = 'M'; char s1[] = { 'M','o','n','d','a','y' }; char s2[] = "Monday"; int num[] = { 1,2,3 }; char* cpt = &c; char* spt1 = s1; char* spt2 = s2; int* numpt = num; cout << cpt << endl;

2021-04-24 11:21:07 1339

原创 C++实现先序创建二叉树,并用递归和非递归两种方式二叉树中序遍历

C++实现先序创建二叉树,并用递归和非递归两种方式二叉树中序遍历这是数据结构课堂留下的一个作业:    题目是:按先序次序输入二叉树中的结点的值(data为字符类型),以’#'表示空字符,创建二叉链表示二叉树。函数原型如下:    void CreateBiTree(BiTree *T);//创建二叉树函数    void InOrderTraverse(BiTree T); //利用栈以非递归的方式实现中序遍历上述二叉树二叉链表的定义如下:typedef struct BiTNode{ c

2021-04-18 17:14:45 3127

JAVA语言程序设计与数据结构第十版基础篇答案.rar

按章节整理过的java程序设计与数据结构的课后答案,同时也包含源代码文件,可直接运行!

2019-06-12

空空如也

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

TA关注的人

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