自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coder 一枚

技术改变世界

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

原创 STL list remove和sort函数

#include #include #include using namespace std;bool cmp(int a, int b){ return a > b;}bool bigger_than_five(int n){ return n > 5;}int main(){ list l; l.push_back(8); l.push_ba

2015-09-14 14:56:20 854

转载 C++ STL — 第6章 STL容器(三)list

一、list基础List使用一个双向链表来管理元素。图一显示了list的结构。图一 list的结构任何型别只要具备赋值和可拷贝两种性质,就可以作为list的元素。二、list的功能list的内部结构和vector和deque截然不同,在很多方面都表现不同:1、list不支持随机存取。所及既不提供下表操作符,也不提供at()函数

2015-09-14 14:36:54 725

转载 C++ STL — 第6章 STL容器(二)deque

C++ STL容器deque和vector很类似,也是采用动态数组来管理元素。使用deque之前需包含头文件:#include 它是定义在命名空间std内的一个class template:templateclass _Ax = allocator >class deque;第一个template参数用来表示元素型别,第二个可

2015-09-14 13:49:09 630

原创 vector 容器删除元素

--vector::erase() 删除元素值--std::remove()  不删除元素,size()无变化,只是元素的替换iterator  erase(iterator pos);  //删除pos位置的元素,返回pos下一个位置的迭代器iterator erase(iterator begin, iterator end);  //删除begin到end之间的元素,包括

2015-09-14 10:47:54 569

原创 JavaScript - 知识点总结

1. js中变量为若类型,typeof 可以确定一个变量的数据类型--undefined  值未定义--boolean   布尔--string   字符串--number  数值--object   对象或者null--function  函数eg: var b = (typeof  19.0 == "number");   typeof b;    //boolea

2015-09-11 17:36:59 508

原创 面试题 - 统计字符串中字符的个数

#include #include #include #include #include using namespace std;void countSameChar(char* s, char* d){ char* p = s; char* q = s; while(*q != '\0') { if(*p == *q)

2015-09-08 14:53:56 871

原创 面试题 - 字符串逆序

#include #include #include using namespace std;void reverseWord(char* word){ char* p = word; while(*p != '\0') { p++; } --p; while(p > word) { *p =

2015-09-08 14:15:13 551

原创 centos常用命令

-- 查看linux版本:cat /proc/version    3.10.0-229.e17.x86_64 (centos 7)   gcc version 4.8.2   red hat 4.8.2-16-- centos 安装编译内核相关组件:yum install kernel-devel gcc

2015-08-22 14:43:04 577

原创 拒绝游戏!发愤图强!

立帖为证!!!

2015-08-13 13:31:58 757 1

原创 cocos2d-x 3.5 一些cocos命令

1. 创建项目cocos new Hello -p com.hanrui.Hello -l cpp -d H:\study2. 打包项目cocos run -p android --ap-20cocos下载地址大全https://blog.csdn.net/u013007305/article/details/50995684

2015-04-17 00:03:11 650

原创 C++ 宏定义实现单例模式

#define SINGLETON_DECLARATION(class_name) public: static class_name* getInstance(); public: static class_name* _instance;#define SINALETON_DEFINATION(class_name) \ class_name* class_name::_inst

2015-04-15 18:07:33 1185

转载 Cocos2d-x 离线文档

特点:1.版本:使用最新的2.x版本和3.x版本。2.语言:右上角选择C++/JS/Lua即可进行语言切换。3.跨平台:这里没有使用chm等其他格式,而是直接使用了html,使用浏览器打开,规避了平台问题。使用说明:下载2.2.3或者3.0的zip包,解压出来可以看到是一个html的目录,打开html目录,找到index.html文件,双击使用浏览器打开即可

2015-04-07 19:23:12 647

转载 Cocos2d-x 3.x中43种常用动作汇总

ScaleBy 作用: 创建一个缩放的动作  参数1:达到缩放大小的所需时间参数2:缩放比例  123ActionInterval * scaleby = ScaleBy::create(2, 2);  ActionInterval * actionbyback = scaleb

2015-01-09 20:56:29 948

原创 C++单元测试工具 -- CppUnit

CppUnit -- 作为C++语言的一款测试工具,其实也是一个开源项目,与JUnit一样,用来方便开发人员进行单元测试的工具。项目地址:http://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page1. 安装在linux下很容易,只要在软件管理中心搜索即可,然后在Eclipse CDT中新建项目,将cpp

2013-11-14 10:00:45 2513

原创 设计模式 -- 观察者模式

观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当这个主题对象状态发生变化时候,会通知所有观察者对象,使得他们能够自动更新自己。使用场景:当一个对象的改变需要同时改变其他对象的时候,而且它不知道具体有多少对象有待改变。耦合的双方依赖于抽象不是具体。现实中的例子:微博订阅,当订阅的主题有新消息发布时候,订阅者都会收到相应的通知;类似还有天气预报等结构图

2013-11-12 15:13:31 801

原创 设计模式 - 建造者模式Builder

建造者模式Builder:将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。应用场景:分步骤构建一个复杂的对象,这个步骤是稳定的算法,复杂对象的各个部分可以有不同变化这时候,创建复杂对象的算法就和对象的组成部分、装配方式独立了。结构图如下:例子程序:这几天天天疯狂玩dota,dota初始化的时候要选择一个地图和一个英雄,就以这个为例子构建do

2013-11-11 11:19:47 1189

原创 设计模式 -- 外观模式Facade

外观模式:软件工程中常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高层接口。这一接口使得子系统更加容易使用。适用于:       客户端为了避免与复杂的子系统产生耦合而导致随着子系统的变化而变化。外观模式就是为了简化客户端与子系统之间的接口。结构如下:子系统:需要利用的各个功能模块Facade:提供统一的简单接口,内部包含对子系统的包装整合Client:调用F

2013-11-08 16:55:49 762

原创 设计模式 -- 模板方法模式 TemplateMethod

模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

2013-11-04 17:06:42 791

原创 排序 -- 总结

首先,来个简单分类:交换排序类:冒泡排序,快速排序选择排序类:简单选择排序,堆排序插入排序类:直接插入排序,希尔排序归并排序类:归并排序再来个整体概览:从整体上看:简单算法:冒泡,简单选择,直接插入改进算法:快速排序,堆排序,希尔排序,归并排序很显然,改进算法普遍性能上比简单的要好。从平均情况看,快速排序,堆排序,归并排序要比希尔排序更有

2013-11-03 16:34:31 1002

原创 排序 -- 归并排序

归并排序  MergingSort平均、最好、最坏:O(nlogn)辅助空间:O(n)  申请了空间最大的特点:稳定的改进算法归并排序:强调要马跑得快,就得给马吃个饱,哈哈 算法思想:假设初始序列含有n个记录,则可以堪称n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n / 2]个长度为2或者1的有序子序列;再两两归并,重复,直到得到一个长度为n的有序序列为止。

2013-11-03 15:48:44 848

原创 排序 -- 堆排序

堆排序  HeapSort基于简单选择排序算法,属于选择排序类算法属于:改进算法平均:O(nlogn)    最好:O(nlogn)   最坏:O(nlogn)稳定性:不稳定辅助空间:O(1) 数据结构:堆(其实就是一种特殊的完全二叉树),可以利用数组实现这棵树大顶堆:每个结点的值都大于或等于其左右孩子结点的值小顶堆:每个结点的值都小于或等于其左右孩

2013-11-03 11:43:45 881

原创 设计模式 -- 原型模式Prototype

原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。其实就是通过拷贝复制对象,且与原来对象一样,C++先天就有优势

2013-11-01 14:38:12 828

原创 编程之美 -- 寻找数组中的最大值和最小值

对于一个由N个整数组成的数组,同时找到最大值和最小值,且需要多少次比较才能着出来?看起来好像很简单,简单一遍循环可以搞掂,但是效率呢?下面是书上给出的三种方法,我用C++实现了下。。。参数:数组,数组起始下标,数组末尾元素下标返回:一个结构,包括最大值,最小值,比较的次数#include using namespace std;static int times =

2013-10-31 16:22:29 1199

原创 设计模式 -- 代理模式 Proxy

定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。种类:1. 虚拟(Virtual)代理:根据需要创建一个资源消耗较大的对象,使得此对象只在需要时才会被真正创建。优化资源加载的过程,例如浏览器优化资源(图片)下载2. 远程(Remote)代理:为一个位于不同的地址空间的

2013-10-30 16:52:09 737

原创 设计模式 -- 装饰模式Decorator

装饰模式: 动态的给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。特点:1. 装饰对象包含一个真实对象的引用,Decorator有一个Component的引用或者指针2. 装饰对象和真实对象拥有相同的接口,这样客户端对象就可以和真实对象一样和装饰对象交互 使用场景:需要动态的给一个类添加功能,这些功能还可以撤销增加一些由基本功能的排列组

2013-10-29 10:49:33 723

原创 设计模式 -- 策略模式Strategy

策略模式:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。组成:抽象策略角色Strategy:策略类,定义了所有支持的算法的公共接口具体策略角色ConcreteStrategyA : Strategy :继承自Strategy,封装了具体的算法或行为,可能有很多。环境角色或者上下文角色,持有一个对Str

2013-10-29 10:02:38 741

原创 设计模式 -- 抽象工厂模式 AbstractFactory

抽象工厂模式:算是三大工厂模式中最难理解的一个了,上次校招笔试考过,但是稀里糊涂写成了简单工厂了T_T首先看一个问题场景:问题场景:系统里有三个组件a、b、c同时使用,但是a的同类a1、a2和a有相通的地方但是互斥,b和c也一样。一个例子就是windows和linux都有图形窗口Text和Button对象,分别是winText、winButton和linuxText、linuxButt

2013-10-28 16:30:13 919

原创 设计模式 -- 工厂方法模式 FactoryMethod

简单工厂模式违反了高内聚的原则,把所有的产品创建都集中在了一个具体工厂里面,为了克服这个缺点,工厂方法模式诞生!工厂方法模式:定义一个创建对象的接口,让子类决定实例化哪个类,延迟实例化到子类。是简单工厂模式的升级版,有效的遵循了开放-封闭原则。简单来说就是:一个抽象产品类,可以派生出多个具体产品类。   一个抽象工厂类,可以派生出多个具体工厂类。   每个具体工厂类只能

2013-10-28 14:53:31 878

原创 设计模式 -- 简单工厂模式 SimpleFactory

引入:类的创建型模式,一个工厂对象决定应该创建哪一种产品类的实例,这样外界就不用直接创建对象而只要消费对象就可以了,也不必知道这些对象是如何创建如何组织的,这样就明确了各自的职责和权利。有利于软件体系结构的优化和重构。角色以及指责:工厂Factory:模式的核心,负责创建各所有实例的内部逻辑,可以被外界调用,创建所需要的产品对象。抽象产品角色Abstract

2013-10-28 14:27:04 859

原创 编程之美 -- 中国象棋将帅问题

下过中国象棋的朋友都知道,双方的“将”和“帅”相隔遥远,并且它们不能照面。在象棋残局中,许多高手能利用这一规则走出精妙的杀招。假设棋盘上只有“将”和“帅”二子(为了下面叙述方便,我们约定用A表示“将”,而B则表示“帅”):A、B二子被限制在己方3×3的格子(横向与纵向分别有三个可以运动到的位置)里运动。例如,在如上的表格里,A被正方形{d10,f10,d8,f8}所包围,而B被正方

2013-10-28 10:45:19 1494

原创 排序 -- 快速排序

快速排序 QuickSort    -- 分治法策略 + 递归实现平均:O(nlogn)最好:O(nlogn)最坏:O(n*n)辅助空间:O(logn) ~ O(n) 稳定性:不稳定不属于简单类型算法,属于改进的算法快排像情绪化的天才,心情好时候表现很好,碰到糟糕时候变的差强人意快速排序对空间有一定的要求:快排属于:交换排序类,实际上是冒泡排序的升级版,它的

2013-10-26 17:55:09 894

原创 设计模式 -- 单例模式 Singleton Pattern

单例模式:Singleton Pattern使用场景:通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。理由:节约资源;当实例存在多个会引起程序逻辑错误;程序意图更清晰不易被误用实际例子:日志输出;GUI中单鼠标;操作系统窗口管理器

2013-10-26 16:12:14 837

原创 C++ STL — 第6章 STL容器(一)vector

6.1 容器的共通能力和共通操作  所有容器提供的都是value语意而非reference语意。容器元素必须能够被拷贝。  总体而言,所有元素形成一个次序。运用迭代器遍历,也是算法的基础。   各项操作并非安全,调用者必须确保参数符合要求。违反可能导致未定义行为。通常STL自身不抛出异常。  初始化:每个容器提供了一个默认构造函数、copy构造函数、析构函数。 

2013-10-26 15:16:25 923

原创 C++ STL — 第5章 The STL(二)

变动型算法:manipulating algorithm    1. remove移除元素    不改变群集中的元素数目,end()返回的还是原来的那个点,size()还是当初那个大小,元素次序改变,有些元素被删了,删掉的元素的位置由后面的元素替换。一般可以erase掉remove()返回的iterator到end()之间的元素来真正实现删除。#include #include

2013-10-26 14:50:15 904

原创 C++ STL — 第5章 The STL(一)

STL :基于各种结构良好的组件,核心的有:containers、iterators、algorithmscontainer:容器,用来存放和管理某种具体的对象,每种容器都有自己的特点,使用时候按需采用iterator:迭代器,用来遍历容器内的元素,这种接口可以独立于某个容器而不关心内部实现,对外提供统一的访问接口,例如向后移动++,取得元素*,其行为类似于指针但比指针安全多了。alg

2013-10-26 14:40:26 804

原创 C++ STL — 第4章 Utilities

Pairs:  #include std::pair是一个未封装类:struct class两个成员:first   second一个函数:make_pair(const T1&, const T2&)默认的构造函数对于基础类型会初始化:std::pair p;   //p.first =0   and p.second = 0两个拷贝构造函数:默认的和模板vo

2013-10-26 14:31:09 1310

原创 C++ STL — 第3章 基本概念

namespace std:为了避免标志符冲突三种使用方式:    直接使用:std::cout     先声明后使用:        using std::cout;        using std::endl;        cout      直接声明使用:        std:using namespace std;        cou

2013-10-26 14:21:18 837

原创 C++ STL — 第2章 介绍C++和标准库

语言特性:1. Templates模板12345templateclass T>inline const T& max(const T& a, const T& b){    return a }无类型的模板参数

2013-10-26 14:17:41 953

原创 C++ STL -- 第1章 关于这本书

About this book:1. 介绍C++ 和 STL2. namespace 和 header files3. 错误和异常处理4. utility实用类5.  各种组件STL 容器Container,迭代器Iterator,函数对象Function Object,算法Algorithm,容器适配器和bitset,str

2013-10-26 14:15:03 726

原创 算法学习 - 02 查找算法总结

查找,应该是最常用的算法之一了吧,当然还有排序,其实,查找是建立在排序基础上的,除了那个最笨的顺序查找。。。1. 好吧,首先来个最简单的顺序查找,原理很简单,顺序比较每个元素,直到找到关键字为止上代码咯。。。//顺序查找:返回待查找关键字的索引(从0开始),数组存储数据int find_seq(int *a, int len, int value){ if(a

2013-10-25 16:42:36 883

软件著作权申请资料模板

软件著作权申请资料模板

2020-12-24

奕心五子棋-智能AI版

奕心五子棋-智能AI版

2020-12-24

linux下C语言编程

一本关于linux下C语言编程的好书,很经典

2011-09-02

Qt开发入门经典书籍

Qt开发不可或缺的书籍,挺实用的,很清晰,

2011-09-02

w3school文档资料

对学习网页制作的来说,不错的学习资料,chm格式的。。

2011-08-25

空空如也

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

TA关注的人

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