
疑难算法
ZalGGboy
这个作者很懒,什么都没留下…
展开
-
疑难点精选:linux下 j = ++i + ++i + ++i的结果?
#include <stdio.h> int main(int argc, char **argv) { int i = 1,j; j = ++ i + ++ i + ++ i; printf("%d\n",j); return 0; } 在linux下进行编译,最终表达式结果只能这样,其余形式无法通过编译,左值无效; 运行结果为10; ...原创 2018-07-20 22:53:10 · 1303 阅读 · 0 评论 -
宏实现大小端转换
宏实现大小端转换 /* 定义多行宏时在每一行后面加 '\' */ #define sw16(x) \ ((short)( \ (((short)(x) & (short)0x00ffU) << 8 ) | \ (((short)(x) & (short)0xff00U) >> 8 ) )) 假设x=0x...原创 2018-09-08 16:34:51 · 5696 阅读 · 0 评论 -
DFS和BFS详解
BFS 、DFS区别,详解 写在最前的三点: 1、所谓图的遍历就是按照某种次序访问图的每一顶点一次仅且一次。 2、实现bfs和dfs都需要解决的一个问题就是如何存储图。一般有两种方法:邻接矩阵和邻接表。这里为简单起 见,均采用邻接矩阵存储,说白了也就是二维数组。 3、本文章的小测试部分的测试实例是下图: 一、深度优先搜索遍历 1、从顶点v出发深度遍历图G的算法 ① 访问v ...原创 2018-09-09 13:47:28 · 3062 阅读 · 0 评论 -
笔试题——十进制转二进制C/C++
原理:用2辗转相处待转换的十进制的整数部分,直至结果为1.将余数和最后的1从下向上写出来就是结果。 #include <stdio.h> int convert(int n) { if(n == 1) { printf("%d ",n); return 0; } printf("...原创 2018-09-10 22:34:45 · 1095 阅读 · 0 评论