小积累
ZH is
这个作者很懒,什么都没留下…
展开
-
每天学习一点点(二维数组的动态定义,矩阵的乘法(非递归实现))
一维数组的动态定义很容易写int *a=new int[X];但是二维数组 如果用int **a=new int[x][y];这就会出错 正确的做法是先声明一个n维数组,每个单元是指向int的指针,再分别对每个单元分配内存. 代码如下int **a = new int*[M];//动态定义二维数组的方法 for (int i = 0; i < M; i...原创 2018-04-15 10:09:01 · 484 阅读 · 0 评论 -
每天学习一点点(汉诺塔问题(递归实现)以及递归的思想)
汉诺塔问题是经典的递归问题,在此之前要知道递归问题的思想,递归最需要理解的就是放弃!!! 放弃你对于理解和跟踪递归全程的企图,只理解递归两层之间的交接,以及递归终结的条件。 拿汉诺塔问题来说, 其实它只有三步, 第一步,把除了最大的盘子以外的盘子都放在中间柱上, 第二步,把最大的盘子放在目标柱上, 第三步,把放在中间柱上的盘子放到目标柱上(此时目标柱的最底层就是最大的盘子) 代码如下...原创 2018-04-17 22:46:55 · 311 阅读 · 0 评论 -
每天学习一点点(欧几里德算法,简单的求最大值递归(分治法))
欧几里德算法 欧几里德算法是解决两个数的最大公因数的算法 用的是辗转相除法 x y y xmody ….. 一直到余数为零 这时候前一个数就是最大公因数#include<iostream>using namespace std;int Ojld(int a, int b){ if (b == 0)return a; else ...原创 2018-04-12 22:29:09 · 440 阅读 · 0 评论 -
每天学习一点点(基本排序算法——选择排序,冒泡排序)
选择排序的思路是很清晰易懂的,两重循环,外层用于归位,内层用于查询,外层循环每执行一次就代表有一个数到了它应该到的位置上,内层循环每执行完毕,则代表找到了一个相对最小数的下标。#include<iostream>using namespace std;int a[10] = { 10,54,4,3,8,78,6,44,2,5 };int search(int a[],in...原创 2018-04-24 22:50:52 · 188 阅读 · 0 评论 -
c++中队列函数queue的常用
在C++中只要#include< queue>即可使用队列类,其中在面试或笔试中常用的成员函数如下(按照最常用到不常用的顺序)push()pop()size()empty()front()back()接下来逐一举例说明:push()队列中由于是先进先出,push即在队尾插入一个元素,如:queue<string> q;q...转载 2018-10-22 22:55:52 · 48086 阅读 · 1 评论