- 博客(147)
- 资源 (74)
- 收藏
- 关注
转载 【数据结构之排序6】直接选择排序
选择排序(Selection Sort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。常用的选择排序方法有直接选择排序和堆排序。本节介绍第一种选择排序:直接选择排序。1、直接选择排序的基本思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。
2013-10-21 17:04:53 1694
转载 【数据结构之排序5】快速排序
1、算法思想快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1)分治法的基本思想分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。(2)快速排序的基本思想设当前待排序的无序
2013-10-21 16:52:26 2774
转载 【数据结构之排序4】冒泡排序
交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。本文介绍第一种交换排序方法:冒泡排序。1、排序方法将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本
2013-10-21 16:31:07 1896
转载 【数据结构之排序3】希尔排序
希尔排序(Shell Sort)是插入排序的一种。因D.L.Shell于1959年提出而得名。希尔排序基本思想基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2该方法实质上是一种分组插入方法。给定实例的shell排序的排序过程
2013-10-21 16:07:30 2183
转载 【数据结构之排序2】直接插入排序
插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。本节介绍两种插入排序方法:直接插入排序和希尔排序。直接插入排序基本思想1.基本思想假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次
2013-10-21 15:49:08 2585
转载 【数据结构之排序1】排序的基本概念
排序(sort)或分类所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。1.被排序对象--文件被排序的对象--文件由一组记录组成。记录则由若干个数
2013-10-21 15:41:52 2866
原创 【Git入门之十五】Github操作指南
最终篇,介绍一下Github网站的使用,主要是翻译为主,简化了已介绍过的内容。1.如何创建一个仓库?1.1.点击New Repository。1.2.填写仓库信息,点击Create Repository。1.3.创建一个README文件。这步就不说了,在本地创建,然后push到远程仓库中。2.如何F
2013-10-07 10:43:44 8510 2
原创 【Git入门之十四】Git GUI
文章都快写完了,Git GUI才浮出水面,很多人要骂我,这么方便的东西怎么不早拿出来。当然命令行和图形界面各有千秋,个人觉得命令行更能让人清楚的掌握整个项目的代码线。当然萝卜青菜各有所爱,Windows,Linux也是一样。喜欢什么客官您挑。本文只做简单介绍。1.Git GUI有什么?霸气测漏的右键菜单和可视化管理界面。2.初始化仓库
2013-10-07 10:39:54 16226 7
原创 【Git入门之十三】Ubuntu和git
之前我们都是在Windows平台下操作git。现在我们改用Ubuntu试一试吧!先准备好Ubuntu或者Linux系统吧。这里采用13.04版本虚拟机环境1.Ubuntu下使用git打开终端(Ctrl+Alt+T)。Ubuntu下就没有git bash了,都是使用terminal。1.1.安装SSH[cpp] view plain
2013-10-07 10:36:12 4938
原创 【Git入门之十二】DIY Git
Git的配置是很有学问的,如果弄懂它,将对你帮助很大。1.用户配置这是全局的。[cpp] view plaincopy#设置用户名 $ git config --global user.name "Jacky" #设置邮箱 $ git config --global user.email fu
2013-10-07 08:26:03 3517 1
原创 【Git入门之十一】标签管理
标签是啥?标签就是给某个版本的一个标记。1.为当前版本创建标签使用《git tag 标签名》来给当前标签命名。[cpp] view plaincopy#切换到master $ git checkout master Switched to branch 'master' #给master当前版
2013-10-05 14:21:12 4046
原创 【Git入门之十】Rebase操作
Rebase,衍合?变基?唉,我也不知道要怎么翻译合适。。。变基怪怪的,我擦勒,你才变基呢。。。1.Rebase提交rebase命令允许你编辑你的提交历史,比如你可以把多个提交(commit)联合成一个,可以对它重新排序,跳掉某个提交或者编辑提交信息。这是非常有用的,当你要再推送到远程仓库之前要想重新编辑提交信息。以下举个例子把多个提交联合成一个。[
2013-10-05 14:18:01 5717
原创 【Git入门之九】解决冲突
1.多人协作冲突如果多人同时修改了同一个文件,那会出现什么样的结果呢?我们试着这么做。(1)修改jackygit2在jackygit2中修改jackydata01,提交修改并推送到远程仓库(这里使用本地远程仓库)。正常,没问题。[cpp] view plaincopy#切换到jackygit2本地库,这是远程仓库那
2013-10-05 14:14:19 35423 6
原创 【Git入门之八】分支管理
1.分支又是神马?我为什么说又是。。。分支就是一个我们能通过它创建出独立代码副本的东东。建立一个git仓库时,它会默认帮我们创建一个主分支,叫做master,之前所有的介绍我们都是在mater上面进行操作的。这是一个最简单的分支模型,本文也基于此模型。每个点代表一个版本,master代表默认主分支,而branch代表新建的分支,HEAD可以认为是一个移动的指针,它指向谁,谁
2013-10-05 14:10:01 5520
原创 【Git入门之七】Git和Github
上一篇介绍了如何在本机创建一个远程仓库,但是如果硬盘挂了,那重新码起吧。。。1.github是神马?一家公司,一个网站。主要负责基于git的版本托管服务。看看这篇文章(http://www.yangzhiping.com/tech/github.html),你就会知道github是神马。目前github上的项目都是开放的,如果想要设置私有,那交钱吧。
2013-10-04 08:27:58 8932
原创 【Git入门之六】远程仓库
远程仓库是用来把Git仓库托管到互联网,本地网络或者本机中。本文主要介绍在本机中创建远程仓库(Remote repositories)。1.创建一个本地远程仓库使用git clone --bare来创建一个本地远程仓库。[cpp] view plaincopy#1个点表示当前目录,2个点表示父目录 $ g
2013-10-04 08:17:28 11353 2
原创 【Git入门之五】版本管理
1.版本回退我们先看一下从项目开始到现在做了什么操作。[cpp] view plaincopy#总共是4个操作 $ git log --pretty=oneline c5c83cfcdb25c67a5c66b4fe3844d0ea912830ec remove JackyData03 a25c58804cb3f404
2013-10-04 08:13:47 5544
原创 【Git入门之四】操作项目
1.查看操作日记《git log》用于查看操作日记详情。因为Git是分布式的,采用SHA1这样的版本号可有效的防止版本冲突。[cpp] view plaincopy#查看操作日记,底下那串长长的数据就是SHA1 ID,表示当前版本号 $ git log commit aea0365712908805bc28540b4db9fd2f
2013-10-03 09:56:46 7736
原创 【Git入门之三】创建仓库
1.创建一个空目录[cpp] view plaincopy#进入d盘目录 $ cd /d #创建JackyGit文件夹 $ mkdir Jacky
2013-10-03 09:49:42 7002
原创 【Git入门之二】基本术语
工欲善其事必先利其器,首先请原谅我蹩脚的英文翻译。1.分支(Braches)一个分支意味着它是一个独立拥有自己历史版本信息的代码线。你可以从已有的代码中生成一个新的分支,这个分支与其余的分支完全独立。默认的分支叫做master。用户可以选择一个分支,选择一个分支叫做Checkout.2.提交(Commit)当你提交你的更改到Git库中,它将创建一个新的提交对象。这个
2013-10-03 09:47:10 7311
原创 【Git入门之一】Git是神马?
1.Git是神马?一个开源的分布式版本控制系统,可以有效的高速的控制管理各种从小到大的项目版本。他的作者就是大名鼎鼎的Linux系统创始人Linus。2.分布式又是神马?先看看集中式。简单说来,集中式就是把版本库集中放在某个中央服务器上(可以是局域网),然后每个人每次要使用时跟服务器进行通信,这样的缺点很明显,一旦服务器挂掉,就悲催了,不用干活了。
2013-10-03 09:44:11 12092 10
原创 【C++基础之十六】数组传参
1.一维数组数组作为传参,其实传入的只是数组的首地址。实质上也是值拷贝。调用函数内部会有一个备份,这个备份指向了数组的首地址,所以数组元素可以在调用函数中被改变。由于调用函数只知道数组的首地址,并不知道数组元素的个数,所以一般我们将数组元素个数也传入。第一种实现:int sum(int array[3]);int sum(int array[3]){ int value=0;
2013-09-28 20:08:15 9496
原创 【C++基础之十五】内联函数
1.优点为什么使用内联函数,而不使用宏定义,虽然宏本身采用的展开来替代函数调用的压栈出栈返回等操作,提高了代码的效率,但是会有两个问题:(1)边际效应宏只是展开代码而已,所以在一些操作符的优先级问题使用上很容易出现异常。#define ADD(x,y) x+y;int _tmain(int argc, _TCHAR* argv[]){ cout<<3*ADD(1,2);
2013-09-26 17:32:26 3108
原创 【C++基础之十四】函数的缺省参数
可能会有这么一个函数,在大部分的情况下,我们不用给它传递参数,但在某些特殊情况下,我们需要给它传递参数,那怎么办呢?简单啊,写两个一样的方法,一个带参,一个不带参。。。这样也太没水准了。来点高端的。。。函数的缺省!函数的缺省,在编译的时候,默认参数由编译器自动插入。这里主要要注意两点。1.缺省值只能出现在声明中,而不能出现在定义里void foo(int a=0);
2013-09-25 17:32:24 5390
原创 【C++基础之十三】指向指针的指针
话说这玩意真不好理解,一般也不会用到,不过还是拿出来看看,叔到用时方恨嫂啊!我们从一个例子来看它。1.一个常见的错误这个错误在第三篇局部变量的返回里就有讲过了。详见http://blog.csdn.net/jackystudio/article/details/11523353因为系统会自动拷贝一个char* p,然后给p分配空间,调用结束后p指向的空间产生内存泄漏。而te
2013-09-24 17:31:30 8182 4
原创 【C++基础之十二】虚函数表和覆盖机制
1.引出我们先来看个例子://空类class A{};//int成员变量class B{ int value;};//普通成员方法class C{ void f(){};};//虚函数class D{ virtual void g(){};};//两个虚函数class E{ virtual void g(){}; vi
2013-09-23 17:33:46 6169 12
原创 【C++基础之十一】虚函数的用法
虚函数的作用和意义,就不进行说明了,这里主要讨论下虚函数的用法。1.典型的虚函数用法可以看到,只有标识为virtual的函数才会产生多态的效果,而且是编译多态。它只能借助指针或者引用来达到多态的效果。class A{public: virtual void f(){cout<<"A::f()";}//虚函数 void g(){cout<<"A::g()";}//普通
2013-09-22 15:38:42 9589 2
原创 【C++基础之十】友元函数和友元类
1.概述友元提供了一种 普通函数或者类成员函数 访问另一个类中的私有或保护成员 的机制。也就是说有两种形式的友元:(1)友元函数:普通函数对一个访问某个类中的私有或保护成员。(2)友元类:类A中的成员函数访问类B中的私有或保护成员。2.特性优点:提高了程序的运行效率缺点:破坏了类的封装性和数据的透明性。3.实现3.1.友元函数3.1.1.
2013-09-18 11:40:06 37119 4
原创 【C++基础之九】单例模式
1.作用单例模式目的就是为了保证一个类只有一个实例。2.原理(1)私有静态指针变量实现:使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。(2)静态局部变量实现:在公有静方法中定义指向该类的一个静态局部变量,并返回该静态局部变量。3.实现3.1.私有静态指针变量实现3.1.1.特点A.它有唯一一个私有的、指向类的的静态成员指
2013-09-17 11:49:43 5648 1
原创 【C++基础之八】函数指针和回调函数
C++很多类库都喜欢用回调函数,MFC中的定时器,消息机制,hook机制等待,包括现在在研究的cocos2d-x中也有很多的回调函数。1.回调函数什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数,那么这就是回调机制。B函数就是回调函数,而通常情况下,A函数是系统在符合你设定条件的情况下会
2013-09-16 09:40:06 35033 5
原创 【C++基础之七】extern关键字
1.作用(1)放在函数或者变量前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。(2)与“C”连用,作为连接指定。2.具体解释及示例2.1.extern的变量和函数声明extern用于修饰变量或函数,用于声明当前变量或函数可以在本模块或者其他模块中使用。不过要记住的是extern只是声明,而不是定义,也就是说extern并不分配空间。
2013-09-14 09:35:53 11779 2
原创 【C++基础之六】运算符的重载
网上太多有关运算符的重载了,但是写的太过的详细,不适合新手入门,特别是那什么++和--的前增量后增量重载,一元二元运算符重载,特殊运算符,下标运算符,new和delete,甚至是指针运算符的重载,吓退了多少小伙伴啊。。我这里就写个最基础的,其实原理和写法都差不多,举一反三,多动手才能写好代码。1.概述什么是运算符重载?如果你想让1+1=0,那么就需要让+号不再是相加的意思,而是
2013-09-13 15:13:16 17229 3
原创 【C++基础之五】函数调用机制与调用约定
1.示例栈的作用和功能这里就不再叙述了。先看一个最简单的函数调用例子:#include "stdafx.h"int call(int _a,int _b);void _tmain(){ int a=1; int b=2; int c=call(a,b);}int call(int _a,int _b){ return _a+_b;}main函数中调用ca
2013-09-11 14:59:54 6194
原创 【C++基础之四】深拷贝和浅拷贝
1.普通类型对象的拷贝普通类型对象的拷贝很简单,就是值的复制而已。比如:int _tmain(int argc, _TCHAR* argv[]){ int a=1; int b=a; return 0;}2.类对象的拷贝类对象的拷贝相比于普通类型的拷贝就复杂多了,它存在着各种成员变量。比如:CopyTest.hclass CCopyTest{publi
2013-09-11 09:47:52 7438 5
原创 【C++基础之三】函数中局部变量的返回
一般说来,函数中是可以进行局部变量的返回的,不然岂不是全部要用全局变量,如果使用了全局变量,那还有必要进行返回吗?那函数就没有它存在的意义了!但是要注意了,这里所谓的局部变量的返回很有内涵,什么样的值才可以进行返回而不出错? 其实,只要遵守一句话即可:函数不能返回指向栈内存的指针! 为什么?因为返回的都是值拷贝! 我们知道,局部变量的作用域是函数内
2013-09-10 14:45:11 15737 3
原创 【C++基础之二】常量指针和指针常量
1.常量指针定义:具有只能够读取内存中数据,却不能够修改内存中数据的属性的指针,称为指向常量的指针,简称常量指针。声明:const int * p;注:可以将一个常量的地址赋值给一个对应类型的常量指针,因为常量指针不能够通过指针修改内粗数据。只能防止通过指针引用修改内存中的数据,并不保护指针所指向的对象。2.指针常量定义:指针常量是指指针所指向的位置不能改变,即指针本身
2013-09-10 11:27:26 36845 12
原创 【杂七杂八】《我叫MT online》反编译解析
闲来无聊,折腾一下《我叫MT》这款手游,我是从开服1区就开始玩的,后来分区时跑到6区了。卡牌游戏,可玩性还算高,偶尔脸黑上微博给大师买买表很有乐趣。寻思着把它拆开来看看,有没有什么东西可以拿来借鉴一下, 源码是不奢求了,资源什么的就满足了,结果发现是我想多了 ,今天写一下大概的过程,因为这个反编译用处很多,现在绝大部分都在用安卓系统,反编译可以用来DIY一款你自己的软件,而不用亲自动手去codin
2013-09-09 20:39:38 11012
原创 【C++基础之一】静态变量的分配空间与LNK2001错误
今天写一个单例类,在使用静态变量的时候发现了一个之前没有注意到的问题,这里总结并记录一下。先看这个单例类:Singleton.h#pragma onceclass CSingleton{public: CSingleton(void); ~CSingleton(void); static CSingleton* getSingleton(); int a;privat
2013-09-09 09:05:46 8090 10
转载 再谈计算机内存访问之1:内存管理概述
1. 引言 要成为一个程序编写高手,不仅需要熟悉各种计算机语言,而且还需要懂得计算机是如何工作的。虽然不必对计算机的各个部件了解得十分清楚,但至少需要懂得计算机操作系统对内存是如何管理的。只有这样,才能编写出计算机内核级的程序来。本书的以后章节会涉及到内存管理的一些操作函数,因此,有必要先介绍这方面的内容。其实,有关计算机内存管理的书籍已经很多了,为了加深读者对这些内存管理函数使用方
2013-09-09 09:01:14 4251 1
转载 地球人己阻止不了程序猿们学习cocos2d-x了 (第六篇)
转自http://cocos2d.cocoachina.com/bbs/forum.php?mod=viewthread&tid=3527&extra=page%3D1内容重点: Hello World 3D, 简单的3D 渲染 + MD2 模型English version: http://jameshui.com/?p=10cocos2d-x 是一个2D 遊戏引擎,
2013-09-05 15:03:46 3451
Anti_TexturePacker v1.2
2013-10-23
Anti_TexturePacker v1.1
2013-10-21
Anti_TexurePacker
2013-10-19
Anti_TexturePacker for mac.zip
2019-06-24
exe文件Anti_TexturePacker v1.7
2015-01-21
Anti_TexturePacker v1.6
2014-02-08
Anti_TexturePacker v1.5
2014-02-07
Anti_TexturePacker v1.4
2014-01-25
高仿QQ新闻右下角弹窗MFC/Win32版
2014-01-09
cocos2d-x嵌入webview
2013-12-26
Anti_TexturePacker v1.3
2013-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人