- 博客(38)
- 资源 (2)
- 收藏
- 关注
原创 01.cocos2d-x游戏引擎的底层实现(引言)
01.cocos2d-x游戏引擎的底层实现(引言) 决定近期写一套,对cocos2d-x游戏引擎的底层实现的学习笔记!基于cocos2d-x 3.0beta2 版本!通过编写这套学习笔记,达到巩固知识的效果。笔记适合有一定使用cocos2d-x引擎经验的人阅读!废话不多说,先上一张思维导图!
2014-02-13 18:25:29
2359
原创 优先级队列
优先级队列优先级队列是比栈和队列更专用的数据结构。但它在很多的情况下都很有用。像普通队列一样,优先级队列有一个队头和一个队尾,并且也是从队头移除数据项。不过在优先级队列中,数据项按关键字的值有序,这样关键字最小的数据项(或者在某些实现中是关键字最大的数据项)总是在队头。数据项插入的时候会按照顺序插入到合适的位置以确保队列的顺序。//// 优先队列// TestList//
2014-02-10 20:04:36
687
原创 归并排序
归并排序归并排序的基本思想就是使用分治的方法将待排序的数组分为两部分,分别对这两部分进行排序。这两部分排序之后再将其进行合并。通过递归的办法,最终可以将归并排序转化为两个元素之间的简单排序。#include using namespace std;//将两个有序的序列合并成一个有序的序列void Merge(int array[], int p, int q,int r){
2014-02-10 16:41:44
605
原创 直接插入排序
直接插入排序直接插入排序相对比较复杂,它的基本工作原理可以做一个比喻,抽出牌,在前面的牌中寻找相应的位置插入,然后继续下一张。直接插入排序就是依次取带排列数组的元素,将其插入到前面有序的数组中。#include using namespace std;void InsertSort (int *pData, int Count){ int iTemp;
2014-02-10 11:54:18
671
原创 选择排序
选择排序选择排序从需要排序的队列数据中选择最小的同第一个值交换,再从剩下的部分中选择最小的与第二个交换,这样往复下去,最后实现全队列的排序。#include using namespace std;void SelectSort(int *pData, int Count){ int iTemp; //存储值 int iPos; //存储下标 for
2014-02-10 11:14:18
686
原创 鸡尾酒排序
鸡尾酒排序鸡尾酒排序,是一种改进后的冒泡排序,原理是要对排序的数组进行双向冒泡排序。#include using namespace std;void Cocktail(int *arr,int size){ int tail = size-1; for (int i=0; i<tail; ) { //小数上浮 for (int j=ta
2014-02-10 10:43:04
735
原创 冒泡排序
冒泡排序冒泡排序的基本原理:1、依次比较相邻的两个数,大数放在前面,小数放在后面。(先比较第1个与第2个,再比较第2个与第3个)(小数上浮)2、第一轮结束,最上面的数是最小的。3、重复count-1次 即得到所需的结果。#include using namespace std;void BubbleSort(int* pData, int Count)
2014-02-09 16:22:56
567
原创 链式队列
链式队列//// 链式队列// TestList//// Created by chenshang on 14-2-7.// Copyright (c) 2014年 chenshang. All rights reserved.//#ifndef TestList_LinkQueue_h#define TestList_LinkQueue_h#includ
2014-02-07 15:03:14
625
原创 顺序队列
顺序队列//// 顺序队列// TestList//// Created by chenshang on 14-2-7.// Copyright (c) 2014年 chenshang. All rights reserved.//#ifndef TestList_SeqQueue_h#define TestList_SeqQueue_h#include
2014-02-07 14:35:35
663
原创 链式栈
链式栈//// 链式栈//// Created by chenshang on 14-2-6.// Copyright (c) 2014年 chenshang. All rights reserved.//#ifndef TestList_LinkStack_h#define TestList_LinkStack_htypedef int T;//创建栈结点
2014-02-06 21:29:27
704
原创 顺序栈
顺序栈//// 顺序栈//// Created by chenshang on 14-2-6.// Copyright (c) 2014年 chenshang. All rights reserved.//#ifndef TestList_SeqStack_h#define TestList_SeqStack_h#include using namespace
2014-02-06 20:41:21
692
原创 双向循环链表
双向循环链表//// List.h// TestList//// Created by chenshang on 14-2-5.// Copyright (c) 2014年 chenshang. All rights reserved.//#ifndef __TestList__List__#define __TestList__List__#includ
2014-02-06 19:40:00
1043
原创 单项循环链表
单项循环链表//// List.h// TestList//// Created by chenshang on 14-2-5.// Copyright (c) 2014年 chenshang. All rights reserved.//#ifndef __TestList__List__#define __TestList__List__#incl
2014-02-06 17:04:29
709
原创 顺序表
顺序表Seqlist.hconst int DefaultSize = 100;template class SeqList{public: SeqList(int sz = DefaultSize) :m_nmaxsize(sz), m_ncurrentsize(-1){ if (sz > 0){ m_elements = new Type[m_nmaxs
2014-02-04 20:44:05
538
原创 单链表
ListNode.htemplate class SingleList;template class ListNode{private: friend typename SingleList; ListNode() :m_pnext(NULL){} ListNode(const Type item, ListNode *next = NULL) :m_data(item), m_
2014-02-04 20:18:55
653
原创 数据结构与算法学习笔记04(约瑟夫问题)
数据结构与算法学习笔记04(约瑟夫问题) 约瑟夫问题据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josep
2014-02-04 18:12:23
863
原创 数据结构与算法学习笔记03(腾讯面试题)
数据结构与算法学习笔记03(腾讯面试题) 题目:快速找到未知长度单链表的中间节点。 普通的方法很简单,首先遍历一遍单链表以确定单链表的长度L。然后再次从头节点出发循环L/2次找到单链表的中间节点。算法复杂度为:O(L+L/2)=O(3L/2)。 能否再优化一下这个时间复杂度呢?有一个很巧妙的方法:利用快慢指针! 利用快慢指针原理:设置两个指针*search、
2014-02-04 13:57:56
1152
原创 数据结构与算法学习笔记02_3(线性表)
数据结构与算法学习笔记02_3(线性表) 单链表的整表创建单链表整表创建的算法思路如下:创建单链表的过程是一个动态生成链表的过程,从“空表”的初始状态起,依次建立各元素结点并逐个插入链表。所以单链表整表创建的算法思路如下:声明一结点p和计数器变量i;初始化一空链表L;让L的头结点的指针指向NULL,即建立一个带头结点的单链表;循环实现后继结点的赋值和插入。
2014-02-03 13:04:31
887
原创 数据结构与算法学习笔记02_2(线性表)
数据结构与算法学习笔记02_2(线性表) 2、线性表的链式存储结构 单链表除了存储其本身的信息外,还需存储一个指示其直接后继的存储位置的信息。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。链表中的第一个结点的存储位置叫做头指针,最后一个结点指针为空(NULL)。 头指针与头结点的异同1、头指针是指链表指向第一个结点的指针,若链表有头结点
2014-02-03 11:30:45
890
原创 数据结构与算法学习笔记02_1(线性表)
数据结构与算法学习笔02_1(线性表) 抽象数据类型的标准格式:ADT 抽象数据类型名Data 数据元素之间逻辑关系的定义Operation 操作endADT 线性表应该有什么样的基本操作? ADT 线性表(List)Data 线性表的数据对象集合为{a1,a2,…,an},每个元素的类型均为DataType。
2014-02-03 09:10:51
705
原创 数据结构与算法学习笔记01(引言)
数据结构与算法学习笔记一 引言: 看到网上一段话是这样写的: “算法是程序的灵魂,为什么有些网站能够在高并发和海量吞吐情况下依然坚如磐石,大家可能会说: 网站使用了服务器集群技术、数据库读写分离和缓存技术(比如memcahced和redis等),那如果我再深入的问一句,这些优化技术又是怎样被那些天才的技术高手设计出来的呢? 我在上大学的时候就在想,究竟
2014-02-02 20:35:37
846
原创 cocos2d-x下获取系统的当前时间
cocos2d-x下获取系统的当前时间 struct tm *tm; time_t timep; time(&timep); tm = localtime(&timep); int year = tm->tm_year + 1900; int month = tm->tm_mon + 1; int day = tm->tm_mday; int hour = t
2014-02-02 11:28:43
701
原创 cocos2d-x3.0事件处理机制
cocos2d-x3.0beta实现触摸机制代码模板 一、单点触摸:方法一声明:bool onTouchBegan(Touch* touch, Event *event);void onTouchMoved(Touch* touch, Event *event);void onTouchEnded(Touch* touch, Event *event); 实现:
2014-02-02 11:22:46
1550
1
原创 cocos2d-x设置横竖屏
cocos2d-x设置横竖屏 IOS目录中RootViewController.mm //显示竖屏-(BOOL)shouldAutorotate{ returnNO;}//显示横屏-(BOOL)shouldAutorotate{ returnYES;}
2014-02-02 11:13:16
974
原创 Sprite(精灵)全解
Sprite(精灵)全解 精灵是游戏中十分重要的组成部分,随处可见,如:游戏背景、NPC、人物、道具等。在cocos2d-x引擎中,只要是用图片展示的,基本上需要使用精灵类。 1. 首先来了解一下跟精灵相关的几个类:(1) Texture2D可以把它看成一个纹理,它是cocos2d-x渲染图形的重要参数,用来贴图,因为cocos2d-x使用openglES绘制2d图形的,它
2014-02-02 11:05:07
6539
转载 cocos2d-x 大型ARPG手游研发----研发思路及感想
cocos2d-x 大型ARPG手游研发----研发思路及感想转载:http://www.cnblogs.com/zisou/articles/cocos2d-x-ARPG.html 我半年前进入了目前的这家做教育行业的公司(在此之前一直从事原生态开发手游的迷茫之路),学习是一件很快乐的事情,来到这家公司我有了很多时间去学习,不管是公司业务,还是其他技术相关的。于是开始了coco
2014-02-01 21:00:55
2212
转载 子类调用父类方法:c++和java的不同
子类调用父类方法:c++和java的不同 bool GameScene::init(){ if (!Scene::init()) { return false; }}我自定义了一个场景,在场景的初始化中,有这么一句:Scene::init()到这里,我百思不得其解,为什么呢? 下面分析:因为我是一名java程序员,按照java的思想,使用类名调用的方法
2014-01-31 14:35:47
2466
转载 友元函数和友元类
友元函数和友元类 1.概述友元提供了一种普通函数或者类成员函数访问另一个类中的私有或保护成员的机制。也就是说有两种形式的友元:(1)友元函数:普通函数对一个访问某个类中的私有或保护成员。(2)友元类:类A中的成员函数访问类B中的私有或保护成员。 2.特性优点:提高了程序的运行效率。缺点:破坏了类的封装性和数据的透明性。
2014-01-31 13:22:49
575
原创 泛型编程
泛型编程 (面试题)什么是泛型编程 所谓的泛型编程,就是以独立于任何特定类型实现的方式编写代码,在使用泛型程序时,需要用户提供具体程序实例所操作的类型或值。 泛型编程和面向对象编程一样,都是多态性的某种实现。面向对象编程中的多态性主要是在运行时使用存在继承关系的类,在使用这些类时能够忽略基类与派生类之间的类型差异。而只是使用基类的引用或指针来使用派生类
2014-01-29 15:57:25
739
原创 容器(下)
容器(下) (面试题)什么是迭代器的范围 迭代器是STL提供的对一个容器的对象访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针,但是,迭代器不仅仅是指针,因此不能认为迭代器一定具有地址值。 迭代器类似与指针一样,能够使用*操作符类获取数据。还可以使用自增操作符和+、-运算符对迭代器进行操作,用以访问容器中的对象。迭代器有2个是已经定义好的,一
2014-01-29 15:34:49
705
转载 极客
极客 “极客”一词,来自于美国俚语“geek”的音译,一般理解为性格古怪的人。数学“极客”大多是指,并不一定是数学专业但又对数学等技术有狂热的兴趣并投入大量时间钻研的人。又译作“奇客”。以前是对那些残忍的马戏表演者和令人厌恶的不食人间烟火的计算机癖的老式称谓,用以形容他们的自由思想和离经叛道的计算机嬉皮士的形象。很长时间在西方文化里geek的意思一直偏向鄙意,在PC革命初期,Geek开始衍
2014-01-29 12:26:00
1148
原创 容器(上)
容器(上) STL是一个标准的C++库,容器是其中的一个重要组成部分。在实现容器时主要提供了顺序容器和关联容器。STL为容器的遍历提供了迭代器。STL也提供了100多种算法的实现。这些算法包括有排序、遍历等。 (面试题)什么是容器: 容器是容纳特定类型对象的集合,因此容器里面的对象必须是同一类型,而且该类型必须是可拷贝构造和可赋值的,所以包括的类型有内
2014-01-29 11:51:18
591
原创 模板
模板 开发程序的时候,经常遇到某些功能在代码的实现上都一样,不同的是只处理的对象类型不一样,这个时候,最好对代码进行重构,将其中的共性提取出来,以实现代码的重用。C++模板技术是实现重用的一种方式。 模板包括有函数模板和类模板这两种。 (面试题)什么是函数模板: 函数模板定义了参数化的非成员函数,这使得程序能够使用不同的参数类型调用相同
2014-01-29 10:21:50
630
原创 java程序执行顺序
一、java中的执行顺序1. 父类静态块2. 自身静态块3. 父类块4. 父类构造器5. 自身块6. 自身构造器2. *DOG父类 3. */ 4.public class Dog { 5. public Dog() { 6. System.out.println("Dog"); 7. } 8. ...
2013-08-05 16:18:08
129
快学Scala 电子书 pdf
2014-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人