自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牧羊人的专栏

牧羊人

  • 博客(24)
  • 收藏
  • 关注

转载 xpwin7

http://download.csdn.net/detail/zczsm/3452314#comment

2011-12-13 12:00:33 444

转载 如何追上一个女生的秘密

1、任何一个女孩子在被人追的时候,心理都是很复杂的,有着欲拒还迎的矛盾心理。(知己知彼)2、不要怕你的主动会带来她的反感,你不主动,她也不主动,也就慢慢淡下来了。(主动出击)3、不要在乎别人对自己的看法。(避免外界干扰)4、开始付出的辛苦将得到加倍的爱——值。(确定价

2011-10-13 07:55:52 620

原创 跟我一起写 Makefile

<br />陈皓 <br /><br />概述 <br />—— <br /><br />什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否

2011-05-09 20:50:00 605

原创 Android 开发手记一

 在 Android 上,应用程序的开发,大部分基于 Java 语言来实现。要使用 c 或是 c++ 的程序或库,就需要使用 NDK 来实现。 NDK 是 Native Development Kit 的简称。它是一个工具集,集成了 Android 的交叉编译环境,并提供了一套比较方便的 Makefile ,可以帮助开发者快速开发 C 或是 C++ 的动态库,并自动的将 so 和 java 程序打包成 apk ,在 Android 上运行。        好,闲话少说,我们以一个简单的实例,来讲解 NDK

2011-01-19 09:43:00 927

原创 no java virtual machine was found after searching the following locations

<br />运行CMD。<br />在里面输入java -version看有没有版本的提示?有的话说明你的JDK是对的,那么就是Eclipse的问题了。没有参考其他方法。<br /> <br /> <br />1)如果没有的话:依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。在“系统变量”栏下执行三项操作:①新建“Java_Home”,值:JDK所在的绝对路径(例如 D:/Program Files/Java/jdk1.5.0_04/)。

2010-12-29 16:27:00 22671 4

原创 264学习

加载中......请稍等

2010-12-12 19:13:00 620

转载 编译时遇到如下错误error C2061: syntax error : identifier 'THIS_FILE'

<br />上午写程序时,加入了前些写的一个类,编译时遇到如下错误:<br />...error C2061: syntax error : identifier 'THIS_FILE'<br />.../new(35) : error C2091: function returns function<br />.../new(35) : error C2809: 'operator new' has no formal parameters<br />.../new(36) : error C2061:

2010-12-02 12:33:00 1377

原创 容器用法总结

<br />您知vector和list有什么区别吗?<br /> <br />1。vector分配连续的内存空间,list不是。 <br />因此vector提供索引访问,在分摊的常数时间内访问元素; <br />list不提供索引访问,O(n)时间访问元素。 <br />在vector中插入和删除元素需要O(n)时间; <br />在list中插入和删除元素需要常数时间; <br />因此如果你不经常修改容器,需要快速访问,可以使用vector; <br />反之如果你需要经常修改容器内容,则应使用lis

2010-08-23 07:46:00 469

原创 常见面试问题

<br />为什么需要virtual member function又不能滥用virtual<br />  若基类设计者把本应设计成virtual的成员函数设计成非virtual,则继承类将无法实现改写(overridden),给继承类的实现带来不便;<br />  另一方面,一旦成员函数被设计成virtual,则该类的对象将额外增加虚拟指针(vptr)和虚拟表格(vtbl),所以倘若出于方便继承类overridden的目的而使所有成员函数都为virtual,可能会影响效率,因为每个virtual成员函数都

2010-08-16 08:27:00 486

原创 区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets

首先,这两个函数不是C标准库中的函数,int getch(void)    //从标准输入读入一个字符,当你用键盘输入的时候,屏幕不显示你所输入的字符。也就是,不带回显。int getche(void)    //从标准输入读入一个字符,键盘输入的时候,屏幕显示所输入的字符。带回显。这两个函数包含在头文件conio.h中,需要记住的是conio.h不是C标准库中的头文件。Micorsoft 和 Borland的 C编译器提供了conio.h,用来创建控制台文本用户界面。一般在Windows系统下安装了VS、

2010-08-04 13:19:00 1002

转载 模板类定义与声明

声明和使用类模板: 如果在类模板外定义成员函数,应写成类模板形式: template 函数类型 类模板名∷成员函数名(函数形参表列) {…} 测试的模板类,如下: //Compare.h #ifndef _COMPARE_H #define _COMPARE_H template class Compare { public: ~Compare(void); Compare(T,T); T max(); T min(); private: T x; T y; }; #endif //Compare.cpp

2010-07-29 06:39:00 638

转载 函数模板

当函数重载时,函数名称和执行的功能完全相同,不同的只是函数的返回类型和参数类型,但必须为他们分别定义函数体,例如,一个求最大值的函数max(),要根据不同的数据类型分别定义不同的函数体(或称版本): i nt max(int x,int y){   return (x>y)?x:y;   } float max(float x, float y){   return (x>y)?x:y;   } double max(double x,double y){   return (x>y)?x:y;   } 能

2010-07-29 06:33:00 471

转载 递归

递归  递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现像.  程序调用自身的编程技巧称为递归( recursion)。 注意:   (1) 递归就是在过程或函数里调用自身;   (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。递归算法一般用于解决三类问题:  (1)数据的定义是按递归定义的。(Fibonacci函数)  (2)问题解法按递归算法实现。(回溯)  (3)数据的结构形式是按递归定义的。(树的遍历,图的搜索)以下

2010-07-23 03:34:00 500

转载 assert用法总结

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。 assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计

2010-07-23 03:21:00 440

转载 时间复杂度

//计算时间复杂度(1)   for(i=1;i            for(j=1;j                 s++;(2)   for(i=1;i            for(j=i;j                 s++;(3)   for(i=1;i            for(j=1;j                 s++;(4)   i=1;k=0;      while(i           k+=10*i;      i++;      }(5)   for(i=1

2010-07-23 02:51:00 780

原创 单链表

//单链表struct studentData{ char sno[4];  /*学号*/ char sname[21];  /*姓名*/ int age;  /*年龄*/ int score[5]; /*五门成绩*/ }; struct student { /*数据域*/ struct studentData info; struct student *next;/*指针域*/ }; //单链表插入struct student *head=NULL,*last=NULL; //定义链尾指针,始终指向最后一

2010-07-22 09:15:00 460

原创 指针学习

指针(一)以下是经典程序(载自林锐的从c/c++高质量编程),讲解的部分是我个人理解void GetMemory(char *p,int num){p=(char*)malloc(sizeof(char)*num);       //p是形参指向的地址}void main(){char *str=NULL;GetMemory(str,100);                            //str是实参指向的地址,不能通过调用函数来申请内存strcpy(str,"hello");}结构是编译能通

2010-07-20 22:44:00 476

原创 typedef的四个用途和两个陷阱

用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb;  // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,  // 和一个字符变量; 以下则可行: typedef char* PCHAR;  // 一般用大写 PCHAR pa, pb;        // 可行,同时声明了两个指向字符变量的指针 虽然: char *pa, *pb; 也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方

2010-07-19 21:56:00 568

转载 C枚举类型enum

在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内有七天,一年有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是, 枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。枚举类型的定义和枚举变量的说明一、枚举的定义枚举类型定义的一般形式为: enum 枚举名 { 枚举值表

2010-07-19 21:54:00 9956

转载 排序算法

#include #include constint SIZE =100;constint MAX =1000;usingnamespace std;//交换数据void Swap(int&a, int&b){    int temp = a;    a = b;    b = temp;}//冒泡排序void BubbleSort(int*arr, int size) { int i, j;    for(i=0;i        for(j=size-1;j>i;j--) if(arr[j]     

2010-07-19 21:50:00 582

原创 链接

http://topic.csdn.net/u/20100327/16/9983a96e-3a26-489f-8590-a51dd4c4476d.htmlhttp://www.cppblog.com/Macaulish/archive/2008/06/17/53689.htmlhttp://blog.csdn.net/weitian_liang/archive/2009/03/12/3982575.aspx

2010-07-19 16:41:00 407

转载 指针数组与数组指针

<br />1指针PK数组<br />指针指向一块地址;数组对应一块地址<br />指针指向地址无所谓连续;数组对应的地址连续<br />指针指向地址可以改变;数组对应的地址不可以改变<br />指针可以指向数组;数组可以存储指针 <br /><br />有时候指针和数组是一致的<br />什么时候呢?<br />你比如说在一个数组作为形参的时候<br />它就转变为同类型的指针<br />都是传递首地址<br />进行连续操作<br /><br />那为什么我们要用指针呢?<br />因为它效率高啊<br

2010-07-18 08:23:00 428

转载 顺序栈和链栈

顺序栈#include #include #define STACK_MAX 100typedef int DT;typedef struct{ int size; int top; DT data[STACK_MAX];} stack;void init(stack *st) /*初始化顺序栈*/{ st->size=0; st->top=-1;}DT pop(stack *a)    /*出栈*/{ if (a->size==0) {  fprintf(stderr,"STACK IS EMPTY");

2010-07-18 06:58:00 420

转载 无锁环形队列

环形一读一写队列中,不需要担心unsigned long溢出问题,因为溢出后自动回归,相减值还会保留。示例一(注:Max_Count 必须为 2 的指数,即:2, 4, 8, 16...):// 队列尺寸#define Max_Count 4096#define Max_Mask 4095 // = Max_Count - 1// 变量void*List[Max_Count];unsignedlong Push_Count;unsignedlong Pop_Count;// 初始化队列void InitQu

2010-07-18 06:55:00 995

空空如也

空空如也

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

TA关注的人

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