- 博客(19)
- 资源 (8)
- 收藏
- 关注
原创 实现二叉树增删改查
#include#includetypedef struct STree{ int date; struct STree *left,*right;}BSTNode;int BSTInsert(BSTNode *&bt,int k){ BSTNode *f,*p = bt; while(p != NULL) { if(p->date = k) return 0; f = p; //f指向*p结点的双亲结点 if(p->date p = p->right; //在右子树中查找 e
2011-01-30 18:27:00 5383
原创 查找算法
<br />//顺序查找法<br />#include<stdio.h><br />void order(int a[],int n,int x)<br />{<br /> for(int i = 0; i < n; i++)<br /> {<br /> if(a[i] == x)<br /> printf("have find %d in a at %d/n",x,i);<br /> }<br />}<br />int main()<br />{<br /> int const n = 9;<br
2011-01-30 17:17:00 389
原创 C中容易忽略的知识点
<br />预处理器(Preprocessor)<br />1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)<br />#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL<br />我在这想看到几件事情:<br />1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)<br />2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价
2011-01-30 16:56:00 1547
原创 Source Insight使用技巧
<br />Source Insight设置<br />1、背景色选择 <br /> 要改变背景色Options->preference->windows background->color设置背景色 <br />2、解决字符等宽对齐问题。<br /> SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行<br /> llllllllll<br /> MMMMMMMMMM<br /> 同样1
2011-01-30 16:43:00 411
原创 strcpy()、memcpy()、memmove()、memset()的实现
strcpy(), 字符串拷贝.char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc !=NULL)); char *address = strDest;
2011-01-30 16:25:00 326
原创 MVC模式和文档/视图结构
<br /> MVC(Model-View-Controller)模式的基本思想是数据,显示和处理相分离。模型(Model)负责数据管理,视图(View)负责数据显示,控制器(Controller)负责业务逻辑和响应策略。<br /> 从MVC的形成过程来看,最初只有模型和视图两个元素。模型封装了数据并提供操作接口,视图用来表现数据和接收用户请求。模型是独立的,而视图依赖于模型:从模型获取数据进行显示;向模型发送用户请求,并根据返回结果刷新自己。<br /> 需要用多个视
2011-01-30 16:15:00 926
原创 sizeof详解
<br />关键字:sizeof,字节对齐,多继承,虚拟继承,成员函数指针 <br />前向声明:<br /> sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。<br /> 但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。<br /> 菜鸟我对C++的掌握尚
2011-01-30 15:43:00 339
原创 链表源码之单向链表
<br />C数据结构单向链表<br />#include<stdio.h><br />#include<stdlib.h><br />#include<malloc.h><br />#include<assert.h><br />typedef struct PNode<br />{<br /> int data;<br /> struct PNode *next;<br />}Node;<br />void CreateListFirstInsert(Node *&N,int a[],int n)<br
2011-01-30 15:21:00 365
原创 内存分配及指针
<br />1、内存分配方式<br /> 内存分配方式有三种:<br /> (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。<br /> (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。<br /> (3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少
2011-01-30 14:55:00 328
原创 C语言内存对齐详解(1)
对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安 排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想 了解更加底层的秘密,“内存对齐”对你就不应该再透明了。一、内存对齐的原因 大部分的参考资料都是如是说的:1、 平台原因(移植原因):不是所有的硬件平台 都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2、 性能原因:数据结构(
2011-01-26 10:42:00 548
转载 #pragma伪指令及结构体对界(Alignment)
#pragma伪指令及结构体对界(Alignment)<br />第一部分 关于对界<br />使用伪指令对#pragma pack (1)#pragma pack<br /><br />#include "stdafx.h"<br />#include <stdio.h><br />#pragma pack (1)<br />typedef struct test <br />{ <br /> char x1;<br /> short x2;<br /> float x3;<br /> char x4;
2011-01-26 10:40:00 543
转载 C++设计模式-工厂方法
定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法(Factory Method)使一个类的实例化延迟到其子类。也叫虚构造器(Virtual Constructor) 结构 理解1. Product是工厂方法生产产品的抽象基类。2. Creator是生产产品的工厂对象抽象基类。Creator提供创建虚方法即工厂方法FactoryMeothod()。FactoryMeothod()由派生类(ConcreteCreator)具体实现,生产对应的具体产品(ConcreteP
2011-01-21 18:01:00 487
转载 C++设计模式-工厂方法
定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法(Factory Method)使一个类的实例化延迟到其子类。也叫虚构造器(Virtual Constructor) 结构 理解1. Product是工厂方法生产产品的抽象基类。2. Creator是生产产品的工厂对象抽象基类。Creator提供创建虚方法即工厂方法FactoryMeothod()。FactoryMeothod()由派生类(ConcreteCreator)具体实现,生产对应的具体产品(ConcreteP
2011-01-21 18:00:00 405
转载 C++设计模式 Adapter
<br />一、功能 将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 <br />二、结构图<br /> (1)class adapter<br /><br /> (2)object adapter <br /><br /> 三、实现<br /> 和其他很多模式一样,学习设计模式的重点是学习每种模式的思想,而不应拘泥于它的某种具体结构图和实现。因为模式是灵活的,其实现可以是千变万化的
2011-01-21 17:22:00 464
转载 C++设计模式(转载)
C++设计模式(转载)<br />C++设计模式之Adapter<br />一、功能 将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 <br />二、结构图<br /> (1)class adapter<br /><br /> (2)object adapter <br /><br /> 三、实现<br /> 和其他很多模式一样,学习设计模式的重点是学习每种模式的思想,而不应拘泥于它
2011-01-21 17:12:00 339
转载 C语言的一些可能犯迷糊的基础
1.首先C语言有多少个关键字?答案是32个,也许很少有人蛋疼的数一数。还有define是不是关键字?当然不是。 2.sizeof是什么东西?函数?但是发现 sizeof int 可以编译过去,答案不言而喻,sizeof是运算符,不是函数,当然也是关键字。 但是下面的代码: int a[100]; sizeof(a[100])的值是多少?我的编译器执行后的是4,可能会和你心目中的数不一样。 那么sizeof(a)呢?答案是400! sizeof(&a)呢?答案是4!我是被震撼了。 void fun(int a
2011-01-10 17:55:00 398
原创 C位运算总结
<br />回顾之前的篇幅,C语言的主体部分基本已经介绍完了。之所以没有介绍C++的相关特性是因为在之前的文章中C和C++在这些方面都有共性,所以在面向对象之前。我们先把这些共性给介绍完。也就是说在介绍面向对象之前,所有的文章都是CC++中都能使用的。从这点上来看,现在正极力奋斗于C++战线上的初学者还是很有用处的。 本篇继续沿着这条路线,到本篇为止包括本篇都还不会急于去介绍C++的面向对象的特性。那么在之前的文章中,可以说基本都把内容给介绍完了。本篇虽然不是大概念,但是在实际的项目中是绝对离不开的。那么我
2011-01-10 17:23:00 414
原创 shell常错记录
<br /> Shell中常错注解<br />注:Linux中对空格等格式控制的很严格。要注意有些地方一定要有,有的地方一定不能有<br />变量赋值时=号两边不能有空格<br />在用UE打开shell脚本时,windows和Linux环境不同,所以回车换行等也会不同,会报出某些莫名奇妙的错误,尽量使用VI来编辑<br /> <br />1、#![dsw1] /bin/sh<br />注:此行可以不写,但如写了
2011-01-10 14:12:00 498
原创 C/C++从入门到高手所有必备PDF书籍
C/C++从入门到高手所有必备PDF书籍收藏,喜欢的朋友支持下吧~<br /><br />C:<br /><br /><br />《C和指针》- PDF高清版<br />下载地址:http://www.fishc.com/a/book/C/821.html<br /><br />《C程序设计语言》- 完美中文版PDF<br />下载地址:http://www.fishc.com/a/book/C/632.html<br /><br />《The C Programming Language》- 英文原版<b
2011-01-08 14:51:00 581
Docker开发指南
2018-08-20
UTF-8 UNICODE GBK 相互转换C源码
2011-10-20
Visual AssistX插件破解版
2011-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人