C++
那个松鼠很眼熟
这个作者很懒,什么都没留下…
展开
-
类数组的初始化
struct Point { int x, y; Point(int _x, int _y) :x(_x), y(_y) { cout<<"create new Point 2"<<endl; } Point(int _x) :x(_x) { cout << "create new Point 1" << endl; }}; 对于单...原创 2018-10-02 08:39:22 · 9549 阅读 · 0 评论 -
C++中的 引用&
引用的概念引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;例:char ch; char &rp=ch;1) 引用仅是变量的别名,因此引用本身并不占用内存,而是和目标变量共同指向目标变量的内存地址.2)表达式中的取地址符&不再是取变量的地址,而是用来表示该变量是引用类型的...原创 2018-10-04 05:30:42 · 255 阅读 · 0 评论 -
数组中的逆序对(分治、递归与合并)
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据,si...原创 2018-10-07 20:32:36 · 662 阅读 · 0 评论 -
*p++
题目:在 VS编译器以下程序的输出结果是 1 2 3 char s[] = "123", *p; p = s; printf("%c\n", *p++); 从优先级上讲,自增操作符++ 高于 *,所以 *p++ 等同于 *(p++)。也就是先取出 p 所对应地址处的值,然后让 p++.等同于 x=y++, 先把y...原创 2018-08-28 04:21:29 · 477 阅读 · 0 评论 -
哈夫曼树 和 树的带权路径长度
树的带权路径长度(Weighted Path Length of Tree):定义为树中所有叶结点的带权路径长度之和。结点的带权路径长度:结点到树根之间的路径长度与该结点上权的乘积。哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。 哈夫曼树构建教程 https://blog.csdn.net/xueba8/article/details/78477892例:对于给定的一...转载 2018-08-28 04:37:41 · 19727 阅读 · 5 评论 -
输入输出流的控制关键字
一、进制hex 十六进制int x;cin>>hex>>x;将输入看作十六进制并转化成十进制赋值给x。当输入不符合十六进制格式时(如9A3T),就会出错。例如:输入12,那么这个12会被看作十六进制,换算成十进制就是18,所以x=18. 再比如输入 0x1C, 那么这个字符串会被看作十六进制数,换算成十进制是28,所以x=28. oct (...原创 2018-08-28 15:57:25 · 300 阅读 · 0 评论 -
vector查找数据并返回索引
vector<double>::iterator ite1 = find(vec_dis.begin(), vec_dis.end(), vec_dis1[0]);vector<double>::iterator ite2 = find(vec_dis.begin(), vec_dis.end(), vec_dis1[1]);vector<double>::...转载 2018-08-24 18:00:11 · 6963 阅读 · 1 评论 -
生成N个不重复的随机数
问题描述:给定一个正整数n,需要输出一个长度为n的数组,数组元素顺序随机分布,范围为0 – n-1,且元素不能重复。 解决思路: 1)、声明一个数组N[n],并赋初值{0、1、2、3、……、n-1}; 2)、设一变量“m=n-1”; 3)、生成[0,m]间的随机数“x”,将N[x]与N[m]元素互换; 4)、对“m”做“m=m-1”,并返回到“3)”,直到“m=0”; 5)、完成上述操...原创 2018-10-10 23:11:49 · 4404 阅读 · 0 评论