
编程
文章平均质量分 75
huangchijun11
本人从事于网站开发,信号与信息处理等相关工作,项目经历有语音信号的处理、智能信息管理监控系统、基于百度地图的车联网信息系统等,本人对技术的研究有一定的兴趣,希望可以在技术上一步一步地慢慢提高,在一个领域做到顶尖。
展开
-
内联函数和宏定义
内联函数和普通函数相比,可以加快程序运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接被镶嵌到目标代码中,而宏只是一个简单的替换。内联函数要做参数类型检查,这是内联函数跟宏定义相比的劣势。inline是指嵌入代码,就是在调用的地方把代码直接写到那里去,而不是跳转。对于短小的代码来说inline增加空间消耗换来的是效率提高,这方面和宏定义一模一样,但是inline在和宏相比没有付出任何额外原创 2017-08-28 15:59:09 · 829 阅读 · 0 评论 -
位运算实现两个整数的加法运算
在程序员面试宝典中,看到了这个知识点,在这里记录一下实现代码。 #include using namespace std;int add(int a,int b){ if(b==0) return a; int sum,carry; sum=a^b; carry=(a&b)<<1; return add(sum,carry);}原创 2017-08-24 20:52:54 · 1094 阅读 · 0 评论 -
《华为机试在线训练》之密码验证合格程序
题目描述密码要求:1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串输入描述:一组或多组长度超过2的子符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例1输入0原创 2017-08-20 12:23:12 · 772 阅读 · 0 评论 -
《华为机试在线训练》之字符个数统计
题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。输入描述:输入N个字符,字符在ACSII码范围内。输出描述:输出范围在(0~127)字符的个数。示例1输入abc输出3#include using namespac原创 2017-07-18 21:18:11 · 820 阅读 · 0 评论 -
《华为机试在线训练》之合并表记录
题目描述数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。输入描述:先输入键值对的个数然后输入成对的index和value值,以空格隔开输出描述:输出合并后的键值对(多行)示例1输入40 10 21 23 4输出0 31 23原创 2017-07-18 17:13:21 · 921 阅读 · 2 评论 -
《华为机试在线训练》之计算字符个数
题目描述写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述:输出输入字符串中含有该字符的个数。输入例子:ABCDEFA输出例子:1解题思路:第一反应就是可以把所有的字母输入都转为小原创 2017-06-03 22:32:53 · 945 阅读 · 0 评论 -
《数据结构和算法》之双向链表问题实践
1,问题描述: 要求实现用户输入一个数使得26个字母的排列发生变化,例如用户输入3,使得结果为:DEFHIJKLMNOPQRSTUVWXYZABC,同时需要支持负数,使得输入-3时,结果为:XYZABCDEFGHIJKLMNOPQRSTUVW。很明显这是一个双向循环链表的问题,可以实现双向移动位置。2,思路分析 首先定义一个结构体: typede原创 2017-03-07 11:50:48 · 798 阅读 · 0 评论 -
《数据结构和算法》之双向链表
1,双向链表的定义: 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 怎样理解双向链表,用生活中的一个例子来解释一下:最开始的火车是只有一个火车头的,当一辆火车从A->B->C->D->E->F->G->原创 2017-03-07 10:30:07 · 549 阅读 · 0 评论 -
魔术师发牌问题
一,问题描述:魔术手中有13张牌,都是黑桃的,第一张牌翻过来是黑桃A,也就是1,因为他正确了,所以放在桌面上,第二张牌我们必须翻出2,但是魔术师会数两张牌,第一张放在牌的最低端,第二张翻出来刚好是2,又把它放在桌面上,接着魔术师会数三张牌,按顺序数,第一张放在牌的最低端,第二张放在牌的最低端,第三张翻开来,刚好是3,放在桌面上,以此类推把所有的牌都数完了,刚好是从1到13,即为1、2、3、4、5、原创 2017-03-05 16:05:40 · 661 阅读 · 0 评论 -
递归、
1,递归过程的执行总是一个过程体未执行完,就带着本次执行的结果又进入到另一轮过程体的执行,........,如此反复,不断深入,直到某次过程的执行过程终止调用的条件成立,则不再继续深入,而执行本次的过程体余下的部分,然后又返回到上一次调用的过程体中,执行余下的部分,......,如此反复,直到回到起始位置上,才最终结束整个递归过程的执行,得到相应的执行结果。递归过程的核心就是参照这种执行流程,设计原创 2017-08-29 17:42:55 · 854 阅读 · 0 评论