自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coding life

人老了 需要笔记

  • 博客(181)
  • 资源 (6)
  • 收藏
  • 关注

转载 memset ,memcpy 和strcpy 的根本区别?

Memset  memest原型 (please type "man memset" in your shell)  void *memset(void *s,  int c, size_t n); s:指向的内存地址c:内容n:大小

2011-08-20 16:50:53 929

转载 自己写的 string 类

现在很多面试题都是要求写一个String类,主要检查Big 3,也就是主要检查构造函数,析构函数和赋值函数.(不要告诉我你以为是:姚明,麦蒂,阿泰...),这也是很考验基本功的一个题目.我今天自己写了一个MyString类,顺便加上了StrAdd函数用于字符串相加,Get函数用于

2011-08-20 16:34:09 1091

转载 堆和栈的区别(转过无数次的文章)

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)

2011-08-18 20:03:15 515

转载 关于static

简介  C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程设计中的static  1、静态全局变量  在全局变量前,加上

2011-08-18 20:00:57 549

转载 二叉树三种遍历的非递归算法

1.先序遍历非递归算法#define maxsize 100typedef struct{ Bitree Elem[maxsize]; int top;}SqStack;void PreOrderUnrec(Bitree t){ SqStac

2011-08-17 21:25:06 854

转载 归并排序

归并排序   归并排序 (merge sort) 是一类与插入排序、交换排序、选择排序不同的另一种排序方法。归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。这里仅对内排序的两路归并方法进行讨论

2011-08-17 20:51:22 485

转载 关于public private protecetd

访问控制:public修饰的成员变量 在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问private修饰的成员变量 只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏protected

2011-08-17 20:44:44 958

转载 图的邻接表存储 深度优先遍历 广度优先遍历 C语言实现

ALGraph.hview plain#pragma once  #include "Queue.h"  /************************************************************

2011-08-17 15:41:20 14632

转载 电梯调度算法

编程之美------电梯调度算法2011-06-02 15:24一座大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯在每层都停。实习生小飞常常会被每层都停的电梯弄得很不耐烦,于是他提出了这样的一个办法:由于楼层并不太高,那么在繁忙的上下班时

2011-08-17 14:52:03 11473 3

转载 各种排序算法的稳定性和时间复杂度小结

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒 泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂

2011-08-17 14:28:11 1168

转载 折半查找(二分查找)

折半查找又叫二分查找,要求查找表本身必须是有序的。查找算法复杂度为O(logn)。C标准库提供折半查找的库函数,声明如下bsearch(const void *, const void *, size_t, size_t, int (__cdecl *)(const vo

2011-08-17 11:32:51 1454

转载 程序员面试宝典笔记4--C++

1.返回值为比较大对象,如果按值传递返回的话,需要创建新对象,开销较大,因而返回引用; 2.但函数不希望所返回的对象被调用者修改,因此给返回的引用加上const修饰,以确保不被修改。隐藏

2011-08-17 10:01:56 876

转载 选择类排序

简单选择排序   简单选择排序(simple selection sort)也是直接选择排序。此方法在一些高级语言课程中做过介绍,是一种较为容易理解的方法。1.算法思想  对于一组关键字{K1,K2,…,Kn}, 首先从K1,K2,…,Kn中选择最小值,假如它是 Kz

2011-08-16 20:19:59 925

转载 程序员面试宝典笔记3--循环递归概率

#includeusing namespace std;int sum=0;int SCORE=90;void compute(int num,int scores){if(numSCORE)return;if(num==1)

2011-08-16 19:36:44 822

转载 程序员面试宝典笔记2--指针和引用

1.this指针2.a) int ab) int* ac) int** ad) int a[10]e) in

2011-08-16 09:36:08 642

转载 sizeof 类

虚继承的话,在子类末尾要多一份指向基类的指针;只保留一份,多的要减去如果子类重新定义了虚函数,那么它不放在基类的虚表里面,而是单独重新开一份虚表,这个和非虚继承是不同的------------------------------------------------

2011-08-15 11:28:23 874

转载 程序员面试宝典笔记1--基础知识

----内容引自《程序员面试宝典》 这本书好像错误蛮多的..1.求x的值int main(){int x=2,y,z;x *= (y=z=5); // x = 2*5x==(y=z); // z赋值给y,然后判断y是否与x相

2011-08-13 22:03:22 1008

转载 《C语言深度剖析》电子版4.1.5小节的错误

最近在朋友的推荐下读了《C语言深度剖析》(电子版),虽然这本书讲的知识点在《C程序设计语言》《C专家编程》《C的陷阱和缺陷》这三本书中都有,但是作者把这些知识点提炼到100多页的书中,而且讲得层层递进,逻辑性很好,确实让人钦佩!感谢作者免费在网上共享此书的电子版。

2011-08-13 10:04:59 827

转载 《c语言深度剖析》笔记4

1.这条栓“野指针”的链子就是这个“NULL”。定义指针变量的同时最好初始化为NULL,用完指针之后也将指针变量的值设置为NULL。也就是说除了在使用时,别的时间都把指针“栓”到0 地址处。这样它就老实了。对于程序员,一般来说,我们可以简单的理解为内存分为三个

2011-08-11 21:31:03 839

转载 《c语言深度剖析》笔记3

1.先看下面的例子:int *p;现在用sizeof 测试一下(32 位系统):sizeof(p)的值为4。嗯,这说明咔出p的这个模子大小为4个byte。显然,这个模子不是“int”,虽然它大小也为4。既然不是“int”那就一定是“int *”了。好,那现在我们可

2011-08-11 10:50:08 1346

转载 《c语言深度剖析》笔记2

1.y = x/*p,这是表示x 除以p 指向的内存里的值,把结果赋值为y?我们可以在编译器上测试一下,编译器提示出错。实际上,编译器把/*当作是一段注释的开始,把/*后面的内容都当作注释内容,直到出现*/为止。这个表达式其实只是表示把x 的值赋给y,/*后面的内

2011-08-10 11:01:50 1643

转载 typedef和define 的区别

Typedef和define都可以用来给对象取一个别名,但是两者却有着很大不同。1. 首先,二者执行时间不同关键字typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。Define则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单

2011-08-09 21:36:01 470

转载 原码 补码 反码

在计算机内,定点数有3种表示法:原码、反码和补码所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码

2011-08-09 11:06:17 882

转载 《c语言深度剖析》笔记1

1.break 跳出当前循环 ,continue 结束当前循环,开始下一轮循环break 关键字很重要,表示终止本层循环。现在这个例子只有一层循环,当代码执行到break 时,循环便终止。如果把break 换成continue 会是什么样子呢?continue 表

2011-08-08 21:58:35 1978 2

转载 c++代理类

想必大家都知道在浏览器中设置代理吧!??其实代理模式跟这个差不多,对象A(相当于浏览器)不是直接访问对象C(相当Web服务器),而是通过一个中间对象B(相当于代理服务器)间接访问对象C。对象B则可以利用这一有利位置为A提供一个与C完全不同的接口,或做一些C本来不做的事!流程如

2011-08-08 16:53:52 1397 3

转载 交换类排序

交换排序   交换排序主要是根据记录的关键字的大小,将记录交换来进行排序的。交换排序的特点是:将关键字值较大的记录向序列的后部移动,关键字较小的记录向前移动。这里介绍两种交换排序方法,它们是冒泡排序和快速排序。冒泡排序   将被排序的记录数组R[1..n]垂直排列

2011-08-07 22:18:23 964

转载 插入类排序

直接插入排序 1.定义    直接插入排序( straight insertion sort )是一种最简单的排序方法。它的基本操作是将一个记录插入到一个长度为 m (假设)的有序表中,使之仍保持有序,从而得到一个新的长度为 m + 1 的有序表。2.算法思路

2011-08-07 19:58:44 794

转载 进程线程的区别

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的

2011-08-07 19:06:18 471

转载 C++中变量的作用域与生命周期

今天在论坛上看到有朋友发帖问道:既然静态全局变量与全局变量都存储在全局数据区,为什么作用域却不一样呢?也许答案非常简单:C++就是这么规定的,静态全局变量与全局变量的唯一区别就是作用域不同。     对一个C++变量来说,有两个属性非常重要:作用域和生命周期,它们从两个不同的

2011-08-07 10:36:35 683

转载 C++内存对象大会战2

四.禁止产生堆对象   上面已经提到,你决定禁止产生某种类型的堆对象,这时你可以自己创建一个资源封装类,该类对象只能在栈中产生,这样就能在异常的情况下自动释放封装的资源。  那么怎样禁止产生堆对象了?我们已经知道,产生堆对象的唯一方法是使用new操作,如果我们禁止

2011-08-06 18:29:23 418

转载 C++内存对象大会战1

如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄

2011-08-06 18:28:49 433

转载 Android 传感器系列教程

android 传感器

2011-08-01 14:06:16 785

转载 android activity 生命周期

一:Activity的生命周期方法 Android提供了很多Activity的生命周期方法,比如我们常用的onCreate、onPause、onResume等。这里主要介绍粗粒度的周期方法,诸如onPostCreate、onPostResume等这些细粒度的周期方法可

2011-07-31 15:00:09 523

转载 Android 中Message,MessageQueue,Looper,Handler详解+实例<转>

一、几个关键概念 1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。 创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的Mess

2011-07-28 14:36:33 484

转载 Java多线程编程总结

Java多线程编程总结

2011-07-27 16:47:45 416

转载 Gallery of Processor Cache Effects

Most of my readers will understand that cache is a fast but small type of memory that stores recently accessed memory locations.  This descr

2011-07-18 16:16:50 850

转载 Const,Const函数,Const变量,函数后面的Const

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不

2011-07-18 14:34:31 509

转载 二维数组和指针

二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一

2011-07-18 09:28:47 1157

转载 【转】c++临时对象与const

C++临时对象的生命周期有关临时对象的生命周期有三种情况:1)一般情况:临时性对象的被摧毁,应该是对完整表达式(full-expression)求值过程中的最后一个步骤。该完整表达式造成临时对象的产生与消亡。例:#include using namespa

2011-07-15 16:39:11 653

转载 默认构造函数

代码一:复制内容到剪贴板程序代码#include using namespace std;class AA{};int main(){    AA *a=new AA();        return 0;}

2011-07-14 15:38:28 768

Essential C++中文版

Essential C++中文版 初学c++的经典书籍 阅读c++ primare的基础

2010-12-14

拜占庭将军问题 分布式

拜占庭将军问题 分布式系统中的经典问题 上传的是word文档

2009-11-25

分布式系统设计与范例 课后答案

分布式系统设计与范例是分布式的经典教材 上传的是其影印版答案

2009-11-25

高质量C和C++编程指南.pdf

高质量C和C++编程指南.pdf是一本不可多得的好书,提供了编写代码的规则,需多阅读和练习来深入体会

2009-07-20

空空如也

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

TA关注的人

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