自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

转载 eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称

eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2 ;   //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。EAX 是"累加器"(ac

2015-01-16 14:44:07 838

转载 iOS摄像头和相册-UIImagePickerController-浅析

转自:http://blog.sina.com.cn/s/blog_7b9d64af0101cfd9.html在一些应用中,我们需要用到iOS设备的摄像头进行拍照,视频。并且从相册中选取我们需要的图片或者视频。关于iOS摄像头和相册的应用,可以使用UIImagePickerController类来完成控制。关于UIImagePickerController的相关知识,如下:

2015-01-13 00:43:09 520

转载 C++ int与string的转化

int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释。缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释。8进制(oct)---前缀加0,16进制(hex)---前缀加0x或者0X。string前后加上双引号,告诉编译器把它当成一串字符来解释。注意:对于字符,需要区分字符和字符表示的数值。比如:

2014-12-27 12:50:21 431

转载 算法导论31.7-2 证明

31.7-2 证明:如果Alice的公开指数e等于3,并且对方获得Alice的秘密指数d,0由ed=1(mod φ(n)),可设 ed = k*φ(n)+1,k∈Z由e = 3,0<d<φ(n)得:0<ed<3*φ(n)因此 0 < k*φ(n)+1 < 3*φ(n),0<k<3,k=1或2即 ed = φ(n)+1 或 ed = 2φ(n)+1,φ(n) = ed-1或φ(n) = 2

2014-12-20 21:04:24 931

转载 C++中关于二维数组作为函数参数传递的问题

在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里。大致代码如下:        问题的关键就集中在了如何将主函数中声明的二维数组migong[8][9]传递到自定义函数中去。     耗费了一个晚上的时间,我总共整理出了三种办法:     方法1:模拟编译器寻址(本法来

2014-12-11 16:29:35 4075 1

转载 UIColor

UIColor *white1 = [UIColor whiteColor]; // 白色UIColor *white2 = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]; // 白色UIColor *orange = [UIColor colorWithRed:1.0 green:0.5 blue:0.0 alpha:1.0

2014-12-10 20:14:45 422

转载 ios view的frame和bounds之区别(位置和大小)

前言:学习ios开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bound的含义。PS:我承认我是一个很笨很笨的人。所以现在记录下来,供以后查阅,同时方便所有和我一样有疑惑的人查看。一、首先列一下公认的资料:先看到

2014-12-09 20:34:47 356

转载 awakeFromNib & viewDidLoad

awakeFromNib当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说只有通过.nib文件创建view对象时才会执行awakeFromNib 。一般的,当IB加载的时候,我们会通过调用自定义对象的awakeFromNib函数,来对界面进行补充

2014-12-09 20:09:38 453

转载 基于Arm 的linux 的启动分析

基于 Arm 的 linux 的启动分析目录:一 Makefile 的分析1.1 启动方案1.2 zImage 代码结构1.2.1 顶层vmlinux 的生成过程1.2.2  zImage 的生成二zImage 的启动过程2.1 compressed/vmlinux.lds 文件的分析2.2 compressed/head.s 文件的分析2.3inux/ar

2014-12-06 22:36:59 443

转载 Linux makefile 教程 非常详细,且易懂

最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。           后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比

2014-12-06 22:35:08 477

转载 Linux 链接脚本详解

一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).-

2014-12-04 00:04:40 737

转载 objdump命令的使用

objdump命令的使用objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它还有其他作用,下面以ELF格式可执行文件test为例详细介绍:objdump -f test显示test的文件头信息objdump -d test反汇编test中的需要执行指令的那些section

2014-12-03 23:34:10 540

转载 算法导论-16.1-3

题目:假设要用很多个教室对一组活动进行调剂。我们希望应用尽可能少的教室来调剂所有的活动。请给出一个有效的贪心算法,来断定哪一个活动应应用哪一个教室。(这个题目也被成为区间图着色(interval-graph coloring)题目。我们可作出一个区间图,其顶点为已知的活动,其边连接着不兼容的活动。为使任两个相邻结点的色彩均不雷同,所需的起码色彩对应于找出调剂给定的所有活动所需的起码教室

2014-11-30 15:45:23 900

转载 GitHub详细教程

目录(?)[+]1 Git详细教程1.1 Git简介1.1.1 Git是何方神圣?Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。举个例子,你可以将文件集合转换到

2014-11-29 20:20:43 414

转载 OC方面的基础笔记:

1.类的基本用法#import // 大体上就是include, 用于包含头文件, 但是即使头文件中, 没有ifndef defined endif, 仍然能够踢除重复包含的头文件// ----@interface section----// OC中声明和实现是分离的, 两个都必须有.@interface Fraction : NSObject {    // @interfa

2014-11-26 22:32:22 394

原创 kubuntu与ubuntu切换

所 谓的“重回Kununtu”并不是指我删除ubuntu然后重新安装Kununtu,而是说在已经安装的ubuntu上直接安装 KDE desktop,实际上就是说在同一个ubuntu上安装了两个桌面管理器:一个默认的gnome和一个新安装的KDE。当然,ubuntu和 Kubuntu的差别本来就是默认桌面管理器的差别。 接下来让我仔细介绍如何在ubuntu下安装KDE环境 首先,打开终

2014-11-25 19:57:12 3705

转载 linux tree命令以树形结构显示文件目录结构

在ubuntu系统中默认是没有tree这个命令的,需要安装,用下面的命令就可以安装tree这个命令工具sudo apt-get install tree2 首先小编来说说怎么样使用tree这个命令,其实有个非常简单的办法,就是直接查看关于tree的帮助,输入下面的命令,可以查看关于tree命令的帮助信息tree --help

2014-11-25 19:43:25 840

转载 算法导论15.4-5、6 最长递增子序列(n平方)和(nlogn)

设序列X(n),最长递增子序列长度为m,考虑长度为i的递增子序列,这种序列有多个,最小的末尾元素记为L(i),可以得到 L(1) 从左到右扫描序列X(n),L(1) 初始为x(1),再引入一个当前最大长度K,初始为1,K表示目前扫描过的序列包含的最长递增子序列的长度,此时L(1)...L(K)有意义。读入一个数据x,如果L(i)是大于x中最小的,则x也是一个递增子序列的末尾元素,按照L(i

2014-11-23 15:38:54 1343

转载 C++: 二维数组作函数参数

变量在作用域里面被声明的是什么类型,就当作什么类型来用。(1)参数是二维数组,但是要指定第二维的维数。int array[10][10];函数声明:void fuc(int a[][10]);函数调用:fuc(array);——在函数fuc中,a是二维数组。使用a[i][j]形式来访问数组中元素。(2)参数使用一维指针数组。int *arra

2014-11-21 11:16:43 521

原创 将一个十六进制字符串转换为十进制数值的问题|| 以及C++中string转换成char*|| c++文件按行输入

在程序中,我们有时需要将一个十六进制字符串转换为十进制数字。比如:char *ptr="0x11";int n=0;//我们想让n等于0x11,即17通常我们在C中,想将一个字符串转换为一整形数字,通常会使用下面的方法:char *ptr="123";      int n=0;  n=atoi(ptr);  printf("%d/n",n)

2014-11-19 17:40:56 3578

转载 c++中vector的用法详解

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.     用法:          1.文件包含:                首先在程序开头处加上#include以包含所需要的类文件vector          还有一定要加上using name

2014-11-19 16:55:48 434

转载 struct和typedef struct的总结

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于:若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;区别就在于使用时,是否可以省去str

2014-11-19 13:30:26 271

转载 weak 和 strong 的区别

觉得讲的很容易理解  The difference is that an object will be deallocated as soon as there are no strong pointers to it. Even if weak pointers point to it, once the last strong pointer is gone, the object w

2014-11-15 21:18:09 540

转载 c++随机数产生

C/C++产生随机数用到两个函数rand() 和 srand()一. 不指定范围产生随机数     用到函数rand(),函数原型为int rand(),无参数。此时会产生一个介于0~RAND_MAX间的整数。RAND_MAX的大小可以查看,在include文件夹(linux在usr目录、windows在安装目录)的stdlib.h可以看到,linux下其值为2147483647(

2014-11-07 20:20:11 531

转载 算法导论 第14章 14.3 区间树

一、综述1.区间树区间树中一种对动态集合进行维护的红黑树,该集合中的每个元素x都包含一个区间int[x]2.基础数据结构红黑树,其中每个结点x包含一个区间域int[x],x的关键字为区间的低端点3.附加信息max[x]:以x为根的子树中所有区间的 端点的最大值4.对信息的维护max[x] = max(high[int[x]], max

2014-11-07 19:44:29 579

转载 《算法导论》学习笔记(3)——二叉搜索树

二叉搜索树是以一棵二叉树来组织的。在二叉树的基础上,增加了一些限制:对于任何结点x,其左子树的任何结点都不大于x.key,右子树的任何结点都不小于x.key。二叉树与二叉堆:         二者都是基于二叉树来构建的数据结构,但是二者的区别在于:二叉堆(最大堆)的每个结点的值都大于等于其两个儿子的值,二叉查找树的父亲是小于等于其右孩子的。如

2014-10-31 20:49:05 402

转载 《算法导论》学习笔记(4)——红黑树(c语言实现)

#include #include typedef int EleType;typedef enum Color //颜色属性:红、黑{ RED = 0, BLACK = 1} Color;typedef struct Node{ struct Node* left; struct Node* right; struct Node* parent; Color co

2014-10-31 20:47:03 495

转载 二叉查找树与红黑树原理和程序全面介绍

转载请注明出处http://blog.csdn.net/yankai0219/article/details/8273542学习方法:我主要是参考算法导论以及Nginx中rbtree.h和rbtree.c两部分内容来学习红黑树的。网上有很多关于红黑树的介绍,不可否认,有很多文章讲的很详细,但是我想经典毕竟是经典,去阅读算法导论,将会使你更加明白红黑树的原理。一句话,读算法导论,

2014-10-26 19:14:07 481

转载 算法导论 Chapter 9.3 Selection in worst-case linear time

问题描述:本节要求以最坏情况下O(n)的时间复杂度找到长度为n的数组中第 i 大的数。 解决方案:《算法导论》上提供了一个算法,该算法实质上是利用了快排中划分的思想,但其通过一些比较复杂的预处理工作保证了快排划分的均匀,并且能够从理论上证明其最坏情况下的时间复杂度可以达到O(n)。算法步骤:1、如图所示,将n个数分成5个一组,共有⌊n

2014-10-12 09:46:01 1004

转载 算法导论7.4-5

题目:当输入数据已经“几乎有序时”,插入排序很快,在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上一层的快速排序调用返回后,对整个数组运行插入排序完成排序过程。证明:这一排序算法的期望时间复杂度为O(nk+nlg(n/k)).解决方案: quicksort在递归到只有几个元素大小的数组时开始用插入

2014-10-06 17:14:48 2330

原创 c++测试程序运行时间的

高精度方法:有很多时候为了测试效率问题,我们需要对时间的精确掌控,mfc给我们封装的时间函数就满足不了我们的需求了。这时候需要使用下面两个函数       BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);     BOOL QueryPerformanceCounter (LARGE_INTEGE

2014-09-29 14:11:15 470

转载 递归求数组最大最小值(分治思想)

求数组最大最小值我们可以用遍历或者最简单的排序方法来实现,但是那样子的时间复杂度将会大很多,因此我们可以采用分治思想来求最大最小值,即先求左右两部分,即先求出左半部分的最大最小值,再求出右半部分的最大最小值,然后再把左右两部分的最大最小值合起来求总的最大最小值。

2014-09-29 12:57:38 1224

原创 算法导论堆实现

#include "iostream"using namespace std;int heap_size;int left(int i){    return 2*i;}int right(int i){    return 2*i+1;}void max_Heapify(int A[],int i){    int l,r,larg

2014-09-26 17:05:02 383

转载 类的声明与定义

什么是类的声明与定义?一、变量的声明与定义很容易区分。声明只是告诉编译器有这么一个变量,但是没有为它分配空间;定义则是为该变量分配空间。所以变量可以重复声明,但是不能重复定义。那么,类的声明与定义又是什么呢?之前以为类的声明就是为类开辟一块空间;类的定义就是定义一个对象,也就是为对象分配空间。实际上,以上理解错误。二、类的声明

2014-09-24 16:54:06 935

转载 示例演示“距离矢量路由算法”工作原理

7.5.3  距离矢量路由算法    现代计算机网络通常使用动态路由算法,因为这类算法能够适应网络的拓扑和流量变化,其中最流行的两种动态路由算法是“距离矢量路由算法”和“链路状态路由算法”。    距离矢量路由算法(Distance Vector Routing,DV)是ARPANET网络上最早使用的路由算法,也称Bellman-Ford路由算法和Ford-Fulker

2014-08-30 12:07:55 876

转载 About vi

vi编辑器学习vi编辑器有三种模式:命令模式、输入模式和末行模式。无论在任何模式下按【Esc】都可以返回到命令模式。1、vi直接输入vi可以查看vi的版本信息2、vi [文件名]若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件。3、保存与退出在“末行命令”中输入以下内容并按【Enter】可以执行不同的操作::q! 强制退出:w 保存:w

2014-08-19 20:35:56 267

原创 Ubuntu中root用户和user用户的相互切换

Ubuntu是最近很流行的一款Linux系统,因为Ubuntu默认是不启动root用户,现在介绍如何进入root的方法。(1)从user用户切换到root用户不管是用图形模式登录Ubuntu,还是命令行模式登录,我们会发现缺省的用户是user但是当我们需要执行一些具有root权限的操作(如修还系统文件)时,经常需要用sudo授权,感觉很麻烦此时我们可以切换到root用户,只

2014-08-19 20:10:36 339

原创 C语言浮点数的存储方式(转)

C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f=2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而d

2014-08-19 19:44:24 641 1

原创 scanf&nbsp;用法及陷阱(转)

函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为:     scanf("",);scanf()函数返回成功赋值的数据项数,出错时则返

2014-08-19 19:44:21 400

原创 数组名和指针的区别(转)

近段时间在整理自己大学几年来学习C++的点点滴滴,写这篇文章源于看林锐博士的《高质量C++指南》时,看到文章直接把指针和数组名视为同一东西,原文为“数组名本身就是一个指针,是一个指针常量,即a等价于int* const a,因此你不能试图修改数组名的值”,摘自第三版127页第7.2.1小节。  自己初学C++时也被数组和指针搞得昏头转向过,通过多方求证和对比实验已把指针和数组弄得稍明白,

2014-08-19 19:44:19 383

12864 液晶 51单片机 字符串 打点 画画 动态正弦函数

这是自己在准备电子竞赛时写的,希望帮到大家,通过测试

2012-07-31

空空如也

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

TA关注的人

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