自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 资源 (11)
  • 收藏
  • 关注

原创 删除链表中的重复节点、剩余节点逆序输出

/*功能:  输入一个不带头节点的单向链表(链表的节点数小于100),删除链表中内容重复的节点(重复的节点全部删除),剩余的节点逆序倒排。    输入:   pstrIn: 输入一个不带头节点的单向链表    输出:   pstrOut:删除内容重复的节点后,逆序排列的链表(不带头节点,链表第一个节点的内存已经申请)。     返回:示例:输入链表的内容

2015-05-11 21:50:35 827

转载 挖一挖unsigned int和补码

文章要讨论的是两部分:1. 原码,反码和补码。2. short, unsigned short, int, unsigned int, long, unsigned long的表示及转换 1. 原码,反码和补码原码是最直观的表示方式:最高位表示符号(0表示正,1表示负),其余位表示大小。假设占位为2字节的数,原码表示的范围就是[-127 ~ 127]一共255个数字。理论上

2015-05-02 21:14:47 890

原创 linux基础1

1.熟练使用tab键2.Ctrl+C  :输入了错误的命令或参数,有的时候命令和程序会不停的运行,这个时候想要让程序停下来,可以按这个组合键,这个键可以将正在运行中的命令中断,如果当前的命令比较重要,这个组合键也要慎用。3.Ctrl+D :这个组合键代表键盘输入的结束,它可以替代exit的输入。例如如果想要直接离开文字界面,可以直接按下Ctrl+D就能够直接离开了(相当于直接输入exi

2015-04-24 21:38:02 565

转载 Win7下安装CentOS 6.5双系统(还没试)

点击打开链接http://blog.sina.com.cn/s/blog_86e874d30101e3d8.html经过一下午的折腾,终于在64位的Windows 7上面成功安装了CentOS 6.5(64bit)系统,中途因为硬盘分区的问题失败了一次。下面是安装过程:在安装过程中借助了这篇文章的内容:http://www.cnblogs.com/Johness/archive/201

2015-04-24 15:32:35 763

转载 win下安装Centos 6.5双系统过程附图(方案可行,最后描述了自己安装时启动项方面出现的问题)

Win7安装CentOS 6.4双系统过程本文是在两篇文章整合而成。分别是: Mr.Johness的 最清晰细致的教程!一步步教你打造Win7+CentOS双系统 和 cjh326419411的 Win7上安装centos6.4 双系统前者安装centos过程详细,后者考虑了CentOS6.4安装文件过大的问题,我这里只是将两篇文章整合了一下,并给后者配图,希望对大

2015-04-24 15:23:31 2187

转载 专家推荐的几本入门嵌入式系统开发的好书

[原]专家推荐的几本入门嵌入式系统开发的好书2007-10-16阅读577 评论01.>   作者:杜春雷 出版社:清华大学出版社 ISBN书号:7-302-06224-2 出版日期:2003年2月 本书描述:本书应该是做ARM 开发的一本基础教材,其中讲解了ARM编程模型,ARM汇编等一些与实际开发联系比较紧密的知识,这些知识对以后 b

2015-04-01 09:46:50 3332

转载 嵌入式开发总结

读大学时学过计算机组成原理、操作系统、计算机网络等等课程,但是大学生都知道,上完那些课只是懂一点皮毛而已,打打酱油就过去了。特别是对于软件工程师,一定要多实践、多思考才行。理论知识显得并没有搞硬件或者偏硬件开发的那么重要,因为软件的重点在于逻辑和算法。    我认为,在中、高级阶段,偏硬莫非就是一种知识活儿,而偏软莫非就是一种体力活儿……只有到达专家阶段才能够有所突破。对比一下培训机构的软

2015-04-01 09:44:10 1261

转载 成为嵌入式开发工程师几个步骤

学习技术不难,看你自己怎么规划希望给参加深圳单片机培训的朋友一些分享和帮助ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式软件开发

2015-04-01 09:35:53 1054

转载 程序员练级攻略(CoolShell)

前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。一

2015-03-17 23:06:48 842

转载 程序员练级攻略----转自酷壳网coolshell.c n

月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历

2015-03-03 23:05:06 952

原创 快速排序的枢纽元选取策略

快速排序中枢纽元的选择会影响算法的效率快速排序中的枢纽元指的是一个元素V,该元素将一个数集S分成两个互斥的集合s1和s2,s1中的任意元素均不大于V,s2中的任意元素均不小于V.错误的选择策略     1)没有经过充分考虑,选择将数组的第一个元素作为枢纽元。     如果输入时随机的,那么这是可以接受的,但是如果输入时预排序的或是反序的,那么这样的枢纽元就产生了一个劣质的分

2015-03-01 11:22:48 3566

转载 周鸿祎:把职业程序员进行到底

周鸿祎:把职业程序员进行到底 《程序员》:非常谢谢您接受我们杂志的采访,在您十年的开发生涯中,曾经写了众多的软件产品,而3721中文网址系统更是拥有了广大的用户群,你一定对程序员这个职业有很多感触吧?  周鸿袆:是的,我一直很自豪曾经是程序员,但我所说的程序员并不是仅编程这个概念的程序员。从1990年开始写第一个商业化的程序,到现在已经有十年的时间了。在这十年期间,我既做过

2015-02-09 21:45:27 1313

转载 如何提高编程能力

程序员每天该做的事1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢 

2015-01-24 11:22:56 531

转载 SIP ——了解PRACK

概述SIP定义了两种应答:临时(provisional)和最终(final)。最终应答传送的是请求处理的结果,是可靠性的(reliably)。 而临时应答传送的是处理过程的信息,由RFC3261是非可靠的。但是由现在的情况看来,特别是与PSTN交互过程中发现:临时应答也应该是可靠的。RFC3262定义了一种SIP可选的扩展方法——PRACK(provisional ack),用

2015-01-21 15:14:39 1108

转载 SIP中的PRACK

PRACK:the Provisional Response ACKnowledgement SIP中的最终响应被理解是会可靠传输的,例如对应INVITE的200OK响应,UAC会给一个ACK,告诉UAS已经收到了200OK。200与ACK间的可靠性是end-to-end的。PRACK是SIP消息中保证临时消息(101-199)可靠传输的机制。PRACK就是仿照200OK的可靠性响

2015-01-21 15:11:35 1254

转载 SIP 中的Dialog,call,session 和 transaction

如果你对Sip协议中Call, Dialog, Transaction和Message之间的关系感觉到迷惑,那么,那么我可以告诉你,你并不孤单,因为大多数初学者对于这些名词之间的关系都会感到疑惑.Messages(消息) 消息是在服务器和客户端之间交换的独立文本, 有两种类型的消息,分别是请求(Requests)和响应(Responses).

2015-01-14 09:52:08 777

转载 SIP协议入门:初学者必须明白的几个重要概念

SIP协议初学者必须明白的几个重要概念 一、 SIP协议的分层结构SIP是一个分层结构协议,它的行为根据一组平等独立的处理阶段来描述,每一阶段之间只是松耦合。SIP的最底层是语法和编码。它的编码使用增强Backus-Nayr形式语法(BNF)来规定。第二层是传输层,定义了网络上客户机与服务器发送请求和接收响应的方式,所有的SIP元素包含传输层。第三层是事务层。事务是

2015-01-14 09:44:34 2020

转载 Linux内核部件分析 ——原子性操作atomic_t

在任何处理器平台下,都会有一些原子性操作,供操作系统使用,我们这里只讲x86下面的。在单处理器情况下,每条指令的执行都是原子性的,但在多处理器情况下,只有那些单独的读操作或写操作才是原子性的。为了弥补这一缺点,x86提供了附加的lock前缀,使带lock前缀的读修改写指令也能原子性执行。带lock前缀的指令在操作时会锁住总线,使自身的执行即使在多处理器间也是原子性执行的。xchg指令不带lock前

2015-01-09 10:06:22 1044

转载 C语言中位运算符--位移运算符

位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。 移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移花接木有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是否带符号有关。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部等

2014-12-29 16:56:17 1232

原创 谈谈生活这个词

时间就是这样,不会因为人的乞讨而停留半秒。曾经的懵懂少年已经变得成熟,成熟的也慢慢开始苍老。不经意的一次相遇,一次相聚,一次长谈,一次冥想,才会意识到时间的速度和残酷,所以很多人幻想着能有一部时光机,穿越时间,来挽留失去的那个人,去挽救做错的那些事,让过去不去,让后来不来,让种种遗憾变成无憾。从回忆中醒来大半,时间或许又潇洒的走了一圈,留下独自落寞的自己,却也无能为力。    时间是毒药,

2014-11-08 17:32:06 709

转载 中兴通讯宋国栋:IMS全业务运营部署探讨

2008年11月28日,由中国通信学会主办的“2008年IMS技术峰会暨第三届IMS技术发展战略高层咨询会”在京召开,本次会议议题为“全业务环境下IMS部署战略”。中国通信在线(www.ezcom.cn)作为官方网站将对本次会议进行全程直播。  宋国栋:尊敬的各位领导,各位嘉宾,大家上午好!  非常荣幸有这样一个机会与各位专家一起探讨在全业务运营环境下IMS网络部署的问题。我今天汇

2014-09-15 16:50:44 2103

转载 孤儿进程与僵尸进程

我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。  孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。

2014-09-09 08:30:48 497

转载 学习Linux网络编程

Linux系统的一个主要特点是他的网络功能非常强大。随着网络的日益普及,基于网络的应用也将越来越多。 在这个网络时代,掌握了Linux的网络编程技术,将令每一个人处于不败之地,学习Linux的网络编程,可以让我们真正的体会到网络的魅力。 想成为一位真正的hacker,必须掌握网络编程技术。    现在书店里面已经有了许多关于Linux网络编程方面的书籍,网络上也有了许多关于网络编程方面的教材,

2014-09-08 15:24:03 733

原创 linux下TCP socket

客户端向服务端发送信息,服务端将客户端发送的信息

2014-09-07 17:38:24 530

转载 socket编程函数详解

一、网络编程socket之socket函数摘要:socket函数是任何套接口网络编程中第一个使用的函数,它向用户提供一个套接字,即套接口描述文件字,它是一个整数,如同文件描述符一样,是内核标识一个IO结构的索引。通过socket函数,我们指定一个套接口的协议相关的属性,为进行使用socket api做好准备。如同所有的介绍API的文档一样,我们先给出socket函数

2014-09-07 10:34:41 1386

转载 TCP中的MSS解读

MSS 是TCP选项中最经常出现,也是最早出现的选项。MSS选项占4byte。MSS是每一个TCP报文段中数据字段的最大长度,注意:只是数据部分的字段,不包括TCP的头部。TCP在三次握手中,每一方都会通告其期望收到的MSS(MSS只出现在SYN数据包中)如果一方不接受另一方的MSS值则定位默认值536byte。MSS值太小或太大都是不合适。太小,例如MSS值只有1byte,那么为了传输这1b

2014-09-06 11:03:46 2726

原创 合并两个有序链表

写这个程序的时候,//合并两个有序链表,将头指针为head1的链表合并到头指针为head的链表中。List MergeList(List head,List head1){ ListNode *p1=head; ListNode *p2=head1; ListNode *pre=NULL; ListNode *temp; if(head==NULL)//如果开始时链表head为空

2014-09-02 21:20:44 641

原创 将链表的结构逆序、将链表以逆序的形式输出

1.将链表逆序:

2014-09-02 16:42:00 1106

原创 循环链表解决约瑟夫问题(简化版)

约瑟夫环是一个经典的数学的应用问题:已知N个人(以编号1,2,3...N分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到M的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。代码

2014-08-31 23:10:30 5184

原创 循环链表解决约瑟夫环问题

约瑟夫环是一个经典的数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。这里假设

2014-08-31 20:14:41 6920

原创 单链表的选择排序

思想:维持一个输入的链表(head指向这个链表),和一个输出链表(out)

2014-08-31 11:09:54 1382

原创 双向链表的创建和相关操作

双向链表其实是单链表的改进。    当我们对单链表进行操作时,有时你要对某个结点的直接前驱进行操作时,又必须从表头开始查找。这是由单链表结点的结构所限制的。因为单链表每个结点只有一个存储直接后继结点地址的链域,那么能不能定义一个既有存储直接后继结点地址的链域,又有存储直接前驱结点地址的链域的这样一个双链域结点结构呢?这就是双向链表。    在双向链表中,结点除含有数据域外,还有两个链域,一

2014-08-30 21:34:58 3974

原创 华为校园招聘机试(2014.7 回忆版)

1.大意如下:1,2,3。。。n展灯,同时有n个人,                  第1个人将1的倍数的灯拉一下,                  第2个人将2的倍数的灯拉一下,                  问最后有几展灯是亮的,                  初始状态灯是灭的,                  输入整数n(n             

2014-08-30 15:49:22 669

原创 华为2012年校园招聘(北京)

1.给一个数字N,求1到N中含有以下数字的个数,数字中包含7或者能被7整除。例如: N=20, 则7,14,17三个数满足要求,则输出3.

2014-08-30 09:03:41 811

原创 2013届华为校园招聘机试题

题目一:子串分离 题目描述:   通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 如果输入“abc def gh i        d”,结果将是abc,def,gh,i,d,  要求实现函数:   void DivideString(const ch

2014-08-28 19:26:13 602

转载 alibab 2014秋季校园招聘笔试

笔试面试(2)阿里巴巴2014秋季校园招聘-软件研发工程师笔试题详解第一部分: 单选题1. 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数          A: h(K)=K/N;          B: h(K)=1;          C: h(K)=K mod N;          D: h(K)=(K+rand(N)) mod N, ra

2014-08-28 11:29:48 908

原创 多态之运算符重载(一)

1.运算符重载定义:C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运

2014-08-27 10:37:16 2360

原创 一个类的成员作为另一个类的友元函数

普通成员函数作为一个类的友元函数,以及一个类作为另一个类的友元类,都好

2014-08-27 08:59:52 4690 2

原创 关键字 mutable (c++)

关键字 mutable 是一个奇怪的修饰符(specifier),它只能够用于一个类的非静态数据成员。下面我将讨论 mutable 的语义和用法,但是首先我要解释一下 C++ 对象模型的一个关键概念。对象的状态    一个对象的状态由其非静态数据成员的值构成,因此,修改一个数据成员将会改变整个对象的状态。将一个成员函数声明为 const 能够保证它不会改变对象的状态。    然

2014-08-25 22:22:05 773

转载 C++ 虚函数表解析(浩哥的文章)

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

2014-08-25 21:11:18 486

安卓视频播放器源码

本源代码实现一个视频播放器,适合初学安卓的盆友借鉴学习~

2015-04-26

多线程编程指南

java的多线程方面的经典书籍,在java的多线程方面讲的非常到位

2014-03-13

C语言程序设计(谭浩强)

谭浩强经典的C语言教材,尽管里面的内容现在有些不合时宜,但里面的例题还是有可取之处的

2014-03-13

c语言内存管理详解

包括不同类型变量的存储类型,是堆,静态存储区和栈等,字符串和指针的相关内存方面容易出错的问题和相关举例,非常实用

2014-03-12

数据结构与算法分析(C语言描述)

这是数据结构与算法分析(c语言描述)第二版教材的源码

2014-03-12

sun公司java教程中文版

这是由java的开发公司发布的java基础教程,java编程的规范化编程具有很好的参考价值

2013-09-17

华为C语言笔试题

这是华为历年的的校园招聘的C语言的笔试题,对于面试华为的技术职位具有很好的参考价值

2013-09-17

SIP(RFC3261中文版)

本文档描述了会话发起协议(SIP),即有一个或多个参与者的用于创建、修改和终止会 话的应用层控制(信令)协议。这些会话包括Internet 电话呼叫、多媒体分发和多媒体会 议。 用于创建会话的SIP 邀请携带允许参与者进行兼容的媒体类型协商的会话描述。SIP 使 用称作代理服务器的元素帮助将请求路由到用户的当前位置,认证并授权用户访问服务,实 现提供商呼叫路由策略,并为用户提供功能。SIP 同时提供注册功能,允许用户上载其当前 的位置信息,以便代理服务器使用。SIP 运行在多个不同的传输协议上。

2013-09-11

TCP/IP详解

《TCP/IP详解卷1:协议》是一本完整而详细的TCP/IP协议指南。 《TCP/IP详解卷1:协议》适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员

2013-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除