摘要:
1.当构造函数只接受一个参数时,则该类可以与该参数类型相同的值转换。看下面这个简单的例子:12345678910111213141516// Woo.h file#ifndef WOO_H#define WOO_Hclass Woo{private: double mm;public: /*explicit*/ Woo(double a); Woo() {mm=0;}; void show(); //operator double() const;};#endif123456789101112131415161718192021// Woo.cpp file#include "sto 阅读全文
随笔档案-2011年10月3日
[转]二维数组和二级指针的传递问题
2011-10-03 21:39 by ...平..淡..., 2301 阅读, 收藏,
摘要:
再次看这篇文章,感觉说的好多都是废话,在文章最前面补充一句话:“[]的优先级高于*”,大家可以带着这句话看下面的~~~========================再一次的见证了自己的基础不牢靠。。。幸好发现得早,看见网上说,华为的一个面试题就考了这个方面的。借那道华为的面试题引出问题,题目:char **p, a[16][8]; 问:p=a是否会导致程序在以后出现问题?为什么?可能有一部分朋友会回答正确,这里他们认为,a[]是一级指针,a[][]就是二级指针。那这个到底对不对呢?OK,用事实说话:1234567891011121314151617// Author: Tanky Woo// 阅读全文
回溯法总结
2011-10-03 13:45 by ...平..淡..., 482 阅读, 收藏,
摘要:
对于回溯法,其实跟深度优先搜索很类似,都是一直往下遍历,在一条路上搜索完毕时,才会返回到另一条,继续遍历。列出书上描述的步骤:1.定义所要求解问题的解空间(就是解的各种情况)2.构造易于检索的状态空间树3.按照深搜检索解空间ps:在此过程中要避免无效检索分析:1.问题的解空间中至少有一个是问题的解,而问题的解通常都会满足一系列的约束条件:(1)显式约束条件:给出了解空间中x[i]的取值范围(2)隐式约束条件:规定了问题的可行解必须满足的条件这些约束条件用于减少检索次数,提高时间复杂度。 阅读全文
深度优先搜索和广度优先搜索
2011-10-03 13:18 by ...平..淡..., 436 阅读, 收藏,
摘要:
这是我根据下面黑体字总结的:深度优先搜素算法:不全部保留结点,占用空间少;有回溯操作(即有入栈、出栈操作),运行速度慢。广度优先搜索算法:保留全部结点,占用空间大; 无回溯操作(即无入栈、出栈操作),运行速度快。通常深度优先搜索法不全部保留结点,扩展完的结点从数据库中弹出删去,这样,一般在数据库中存储的结点数就是深度值,因此它占用空间较少。所以,当搜索树的结点较多,用其它方法易产生内存溢出时,深度优先搜索不失为一种有效的求解方法。 广度优先搜索算法,一般需存储产生的所有结点,占用的存储空间要比深度优先搜索大得多,因此,程序设计中,必须考虑溢出和节省内存空间的问题。但广度优先搜索法一般无回溯操. 阅读全文
排序算法-------归并排序
2011-10-03 12:39 by ...平..淡..., 206 阅读, 收藏,
摘要:
基本思想:将元素集合分成2个集合,对每个集合单独分类,然后将已分类的两个序列归并成一个含有n个元素的分类好的序列。这种思想是典型的分治法的设计思想。归并排序 1 #include <iostream> 2 using namespace std; 3 4 //元素交换 5 void swap(int &a,int &b) 6 { 7 int temp=a; 8 a=b; 9 b=temp;10 }11 12 /*///////////////////////////////////////////////13 归并排序14 */15 void Merge(int * 阅读全文
堆和栈的区别
2011-10-03 11:04 by ...平..淡..., 256 阅读, 收藏,
摘要:
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack):由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常量字符串就是放在这里的。程序结束 阅读全文
链表和数组的区别
2011-10-03 10:54 by ...平..淡..., 228 阅读, 收藏,
摘要:
(从 逻辑结构 和 内存存储 方面分析)A 从逻辑结构来看A-1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。A-2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项)B 从内存存储来看B-1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小B-2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦. 阅读全文
浙公网安备 33010602011771号