07 2016 档案
C语言中的重要位运算
摘要:1. 常用的等式 :-n = ~(n-1) = ~n + 1. 2. 获取整数n的人进制形式中的最后1个,也就是只保留最后一个1,其余的全部置位0,如1000 0011 > 0000 0001. 公式为:n & (-n) 或者 n & ~(n-1) 3. 去掉整数n的人进制形式中的最后1个,也就是将
阅读全文
C语言中的除法的计算
摘要:不用除号,计算除法运算。思路是使用减法运算!思路1:循环采用减法每次减去n,直到做完减法之后结果小于0为止 但是这样次数较大 如求100/3,需要次数为34次。 思路2:循环采用减法每次减去k,K的值每次会增加2倍,也就是左移1位,这样来优化思路1的算法 如求100/3,需要次数为3*2^i ==
阅读全文
C语言中储存的大小端问题
摘要:一、大小端定义 研究变量的高低字节:从左往右看,字节序递增,也就是最右边是最低字节,最右边是最高字节。如 int i = 0x01020304, 01是高字节,04是低字节。如果是字符串如char a[10] ="hello",h位低字节,o为高字节,这个和整型变量是相反的。 内存中的高低地址:内存
阅读全文
C语言中的位段----解析
摘要:有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。 例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。 为了节省存储空间并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域并说明每个区域的位
阅读全文
C语言中宏定义#define 、 typedef 和枚举类型
摘要:替换时机 #define :预编译阶段简单替换,编译阶段展开源程序(1.词法扩展==程序生成期间的字符串替换 2.语义扩展==生成特定指令) 枚举常量:编译阶段确定其值 内联函数:编译阶段插入代码 typedef:关键字,编译时处理
阅读全文
模式和字符串的匹配
摘要:290. Word Pattern 290. Word Pattern Total Accepted: 45113 Total Submissions: 148465 Difficulty: Easy Given a pattern and a string str, find if str fol
阅读全文
组合游戏-博弈论中经典模型题目
摘要:292. Nim Game 292. Nim Game Total Accepted: 84580 Total Submissions: 157260 Difficulty: Easy You are playing the following Nim Game with your friend:
阅读全文
判断一个数是不是另一个数的幂问题
摘要:342. Power of Four 342. Power of Four Total Accepted: 28742 Total Submissions: 81051 Difficulty: Easy Given an integer (signed 32 bits), write a funct
阅读全文
C语言中的指针与整数相加的值计算
摘要:以下分三种情况: 1. 指针 + 整数值 2. 整数 + 整数 3. 指针强制转换为另一个类型后(指针或者是整数) + 整数 测试例子: 1 struct AAA{ int a; char b[4]; }*p;/*sizeof(AAA) == 8*/ 2int *a = 200;//假设该a 在内存
阅读全文
C语言中的字节对齐
摘要:下面这个篇博客讲解很好 http://blog.csdn.net/meegomeego/article/details/9393783 总的来看分三类: 1. 不加 #pragma pack(n)伪指令(n未对齐的字节数目) 2. 加#pragma pack(n) 伪指令 3. __attribut
阅读全文
求数组中任意两个数之间所有数字的和
摘要:303. Range Sum Query - Immutable 求数组中任意两个数之间所有数字的和 QuestionEditorial Solution My Submissions 303. Range Sum Query - Immutable QuestionEditorial Soluti
阅读全文
字符串中的元音字母翻转输出
摘要:字符串中的元音字母翻转 345. Reverse Vowels of a String QuestionEditorial Solution My Submissions 345. Reverse Vowels of a String QuestionEditorial Solution My Su
阅读全文
字符串翻转输出
摘要:344. Reverse String QuestionEditorial Solution My Submissions 344. Reverse String QuestionEditorial Solution My Submissions QuestionEditorial Solution
阅读全文
C语言中不用 + 和 - 求两个数之和
摘要:(二)解题 题目大意:不用+或者-实现两个整数的加法 解题思路:不用+或者-,就自然想到位运算,无非就是与或非来实现二进制的加法 首先,我们来看一位二进制的加法和异或运算 ABA&BA^B 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 与运算可以算出每一位上的进位,异或运算可是算出
阅读全文
C 语言中求中间数时候防止溢出方法
摘要:当使用二分法时候,注意 mid = left + (right - left) / 2; 这句代码,可以防止溢出!!,千万不能写成 mid = (left + right) / 2 这样写的话,当数字很大时,就会导致溢出
阅读全文
C语言中的各种类型所占的字节大小
摘要:一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器? 之所以叫
阅读全文
C语言之内核中的struct list_head 结构体
摘要:以下地址文章解释很好 http://blog.chinaunix.net/uid-27122224-id-3277511.html 对下面的结构体分析 1 struct person 2 { 3 int age; 4 int weight; 5 struct list_head list; 6 };
阅读全文
C语言中的指针的小标可以是负数
摘要:首先,创建一个正常的数组 int A[20];。然后用指针指向其中间的元素 int *A2 = &(A[10]); 这样,A2[-10 ... 9] 就是一个可用的有效范围了。 1 2 3 4 5 6 7 8 9 10 11 12 13 /* 样例示范 */ #include <stdio.h> i
阅读全文
全排列算法
摘要:1、字典排序 【例】 如何得到346987521的下一个 1,从尾部往前找第一个P(i-1) < P(i)的位置 4 6 <- 9 <- 8 <- 7 <- 5 <- 2 <- 1 最终找到6是第一个变小的数字,记录下6的位置i-1 2,从i位置往后找到最后一个大于6的数 4 6 -> 9 -> 8
阅读全文
递归算法
摘要:1. fibonacci数列的求解 fibonacc数列规律,前面两数值之和为后面一个数fibonacci数。 1 #include <stdio.h> 2 #include <stdlib.h> 3 /* 4 * 输入:指定产生fibonacci个数 5 * 输出:每4个数字一行输出fibonac
阅读全文
排序算法
摘要:1. 冒泡排序 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 /* 5 *max times:n*(n-1)/2 6 *根据大小交换相邻数值的位置,每次都会将最大的一个数字放在最后 7 *因此,每次从0开始,且每次执行完毕,则次数减1.关键注意j的取值
阅读全文
C语言中的字符和整数之间的转换
摘要:首先对照ascal表,查找字符和整数之间的规律: ascall 控制字符 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 可以看出ascall和整数字符的大小相差48,字符可以和整数进行相互转换,计算,且计算的时候采用的是字符对应的ascall值来
阅读全文
C语言中的各种字符串输入方法
摘要:C语言从stdin读取一行字符串的几种方法 gets gets函数的头文件是<stdio.h>,原型如下: char *gets(char *s); gets从stdin中读入一行内容到s指定的buffer中,当遇到换行符或EOF时读取结束。读取成功时,返回s地址;失败时返回null。需要注意的是,
阅读全文
C语言中的main函数的参数解析
摘要:main()函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main()函数。当然也同样无法向main()函数传递,只能由程序之外传递而来。这个具体的问题怎样解决呢?我们先看一下main()函数的带参的形式: 1 main(int argc
阅读全文
常用算法总结
摘要:常用算法总结 一、排序 http://www.cnblogs.com/fzhe/archive/2013/01/18/2866651.html 二、 查找 a) 顺序查找 b) 有序表的查找之折半查找 c) 索引表 a) 二叉排序树查找 b) 平衡二叉树 c) B-树 :常用于文件系统中 d) B+
阅读全文
浙公网安备 33010602011771号