摘要: 在网上搜了大概有四种办法:用下面的程序验证一下:void swap1(int &a,int &b){ a=a+b; b=a-b; a=a-b; return;}void swap2(int &a,int &b){ a=a-b; b=a+b; a=b-a;}/*swap3 很经典*/void swap3(int &a,int &b){ a^=b; b^=a; a^=b; /*等效的一句话操作是: a^=b^=a^=b; */}/*swap4 ,最精炼*/void swap4(int &a,int &b){ b=a^b^(a=b).. 阅读全文
posted @ 2013-04-17 21:59 曾见绝美的阳光 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 在腾讯春季实习生招聘笔试的时候遇到这么一个问题: 给定一个数组int a[10]; 下面哪些不可以表示a[1]的地址?A. a+sizeof(int)B. &a[0]+1C. (int*)&a+1 D.(int*)((char*)&a+sizeof(int))对于这个题目,我当时的分析是这样的,对于数组名a,它是一个int*指针常量,指向数组第一个元素的地址,既然是指针常量,a+sizeof(... 阅读全文
posted @ 2013-04-17 20:59 曾见绝美的阳光 阅读(615) 评论(0) 推荐(1) 编辑
摘要: 问题描述:在国际象棋中,皇后的属性是在不能在同一行,也不能在同一列,也不能在统一斜线上,否则就要被拼掉,最经典的八皇后问题是给你一个8*8的棋盘和8个皇后,求出所有可能排列的方式,一般不考虑拓扑相似性。 解答方案:何海涛博客中给出的方案是先确定解空间(这么做是因为能够确定解空间的大小),然后对每一个可能的解进行检查,如果满足就输出,他的思路是既然皇后不能在一行,那么对于8皇后,每个皇后我们只需要... 阅读全文
posted @ 2013-04-17 15:54 曾见绝美的阳光 阅读(781) 评论(0) 推荐(0) 编辑