自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (8)
  • 收藏
  • 关注

原创 数组一些模糊概念

数组例子1:int a[3] = {1,2,3};先记住几个概念,(1)数组名代表的是一块内存的名称,即例1中,a代表的是一块内存的名称,这个内存的大小是sizeof(a) = sizeof(int)*3 = 12(2)数组名不能作为左值,只能作为右值。左值是指值可以改变的,而右值只能读。a代表的是一块内存的名称,如果作为左值,如a=3,意思是对整块内存区域进行赋值为3,这是不

2013-09-11 15:47:22 620

原创 互斥锁的理解

当多个线程对同一个共享变量进行修改时,正常情况下操作可能会出现不同步。比如一个变量修改包括以下步骤:读取内存—放入寄存器—操作寄存器(如加1等)--写回内存。如a = 10;两个线程AB对变量进行减1操作在A线程中,当程序运行到放入寄存器时,此时的值为10;恰在此时引发一次调度,B线程走一段时间,B将a值减为9;然后过会开始调度回A运行,A将寄存器的值减1,即为9,然后写回a中,最终a

2013-09-07 17:17:25 805

原创 linux 线程常用函数

头文件#include 线程的创建Int pthread_create(pthread_t *tid,constpthread_attr_t *attr,void *(*func)(void*),void *arg);一个进程中每个线程都有一个线程ID,其数据类型是pthread_t //等待一个线程的终止,相当于waitpid的作用Int pthread_join(pth

2013-09-07 16:39:04 508

原创 Traceroute原理学习

Traceroute可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。曾经介绍过IP记录路由的选项RR,为什么不使用这个选项而另外开发一个新的应用程序Traceroute呢?原因有三:其一,并不是所有的路由器都支持记录路由这个选项;其二,记录路由一般是单向的选项,发送端设置了该选项,接收端不得不从收到的IP首部中提取出所有的信息,然后全部返回给发送端。大多数的ping服

2013-09-07 10:09:45 899

原创 ping命令的学习

1.发送回显请求的ping程序为客户,而被ping的则称为主机ICMP回显请求与回显应答的报文如下序列号从0开始,没发送一次新的回显请求就增加1,ping打印出的信息可以查看分组丢失、失序和重复信息。在unix系统中,实现ping程序时是把ICMP报文中标识符字段置成发送进程的ID号,这样同一台主机上同时运行了多个ping程序后,ping程序也能识别出返回的信息。 Ping

2013-09-07 10:07:30 753

原创 百度 求矩形的个数

百度一道面试题,顿时不会。征集一下大家的思路,看题:有一个由长为x,宽为y的网格,写出程序返回矩形的个数?int calRectangle(int x, int y){}

2013-08-23 09:21:40 630

原创 C++多态

// polymorphism.cpp : 定义控制台应用程序的入口点。//虚函数多态性#include "stdafx.h"#include "iostream"using namespace std;class CBase{public: int data1; int data2; void fun1() {  cout  } virtu

2013-07-14 16:46:11 370

原创 二叉查找树实现

二叉查找树所有的操作时间复杂度均为O(lg n)//.h#ifndef BINARYSEARCH_H#define BINARYSEARCH_H#include "stdio.h"class CBinaryNode{public: CBinaryNode():data(0),left(NULL),right(NULL){}public: int da

2013-07-04 19:51:31 453

原创 算法导论 第7章部分习题解答

习题 7-6//此题本质就是对 间隔区间 进行排序//本程序核心在于提出公因子//有交叉的区间属于相等区间程序见下面网址(已经写的很好了)http://blog.csdn.net/mishifangxiangdefeng/article/details/7681109 习题7-3 时间复杂度T(n) = 3T(2n/3) + O(1) 习题7-4

2013-06-30 11:39:13 638

原创 关于堆排序中MAX-HEAPIFY中时间复杂度的分析

算法导论中计算MAX-HEAPIFY中时间复杂度的分析时提到节点i的子树至多时2n/3,针对2n/3的由来进行了推导。假设树是从第k层开始的,先计算第k层的子树。(见图)

2013-06-29 12:49:44 3296

原创 在各个平台上关于数据类型的定义

//linux内核精妙之处,可以在各种平台上移植#define USHORT_MAX   ((u16)(~0U))#define SHORT_MAX ((s16)(USHORT_MAX>>1))#define SHORT_MIN (-SHORT_MAX - 1)#define INT_MAX      ((int)(~0U>>1))#define INT_MIN      (-

2013-06-28 23:33:43 710

原创 linux内核中typeof的使用说明

typeof说明功能:获取某一变量或表达式类型 C99关键字 (1)typeof(int*) == int * (2)函数int max() typeof(max()) == int,且max函数不会执行,typeof只是获取返回类型(3)const typeof( ((type *)0)->member ) *__mptr = (ptr);获取member在t

2013-06-28 23:32:55 873

原创 Linux中的container_of的说明

container_of说明通过一个成员变量地址以及该成员变量的名称获取该结构体指针// ptr为该成员变量地址// type结构体类型// member成员变量名称#define container_of(ptr, type, member) ({                       \         const typeof( ((type *)0)->mem

2013-06-28 23:32:03 376

原创 linux内核list.h中对链表的操作

#include #include #include #include //说明://list.h中关于链表的操作//需要注意的是head本身并不是一个链表的成员,只能算是链表的头结点//因此,head->next才是第一个成员,而head->prev是链表的最后一个成员//此点需要注意,整个链表其实就是由head将首尾连接/* * Simple

2013-06-28 23:29:53 793

原创 linux内核List中关于hash链表

//双向链表对于hash表来说太浪费了//因此设计了单向链表,但是,这样在访问尾节点时间上就不再是O(1)的时间复杂度/* * Double linked lists with a single pointer list head. * Mostly useful for hash tables where the two pointer list head is * to

2013-06-28 23:28:36 829

原创 堆构造优先级队列

/*************************堆构造优先级队列*******************/class PriorityQueue:public HeapSort{public: //取出最大值并重新构造为最大堆 int HeapExtractMax(int *A,int len); //将元素i的值增加到key,且key不能小于i原来的值 void

2013-06-28 23:22:14 600

原创 堆排序(依据算法导论伪代码)

// MAX_HEAP.cpp : 定义控制台应用程序的入口点。////堆排序(依据算法导论伪代码)//数组有效是从1开始的//程序仅供记录自己的学习历程#include "stdafx.h"#include "iostream"using namespace std;//此类实现了最大堆的创建//排序class HeapSort{public:

2013-06-28 22:23:23 1480

beautifulsoup4-4.0.1.tar.gz工具包

beautifulsoup4-4.0.1.tar.gz工具包

2015-05-03

STL 源代码

STL源码,里面详细描述了STL实现的原理机制,供有兴趣的深入研究

2015-05-03

apache linux 工具包

apache linux 工具包,包含httpd、apr、apr-util、pcre

2015-05-03

键盘扫描程序

键盘扫面c程序,4*4的键盘。直接给出移植文件,只需添加到所在的工程就可以用,适合各种用c的单片机,arm,dsp等

2011-10-30

LCD12864无字库AT89S52实现

LCD12864无字库AT89S52实现,液晶控制器为ks0108,程序经调试非常好用,绝对没有bug

2011-10-30

LCD12864(KS0108) C51程序

LCD12864(KS0108) C51程序,经过测试不存在任何问题。采用AT89S52单片机编写,非常好用,对于没有字库的LCD12864都可以参考写法

2011-10-30

键盘 LCD1602 的MSP430F169 C语言程序

在MSP430F169 下实现键盘扫描以及LCD1602的控制显示,程序在多个大工程中均没有问题,非常好用,不存在bug。同时很方便就移植到149/449等430的单片机中

2011-10-30

DAC8831 MSP430 c语言控制程序

用MSP430F149编写的C语言DA控制程序,DAC8831,非常好用,输出的波形绝对符合你的要求!程序修改头文件就移植到MSP430F169/449等单片使用,非常方便有效!

2011-10-30

空空如也

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

TA关注的人

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