- 博客(21)
- 资源 (8)
- 收藏
- 关注
原创 算法 —— 选择排序
原理: 选择排序和直接插入排序有些类似。都是有一个有序序列和无序序列。 区别在于: 选择排序是将无序区的最小值放到有序区的最后,插入排序则是将无序区的第一个值插入到有序区间当中。 1、假设整个数组的大小为n,从a[0 ~ i - 1]为有序区间,a[i ~ n-1 ]为无序区间2、比较a[i ~ n-1]的所有元素,找出最小的元素,将其与a[i]交换,这
2015-08-27 14:53:49
431
原创 算法——快速排序
快速排序是建立在冒泡排序的基础上升级的一种方式,排序的效率比较高,因此经常被使用。 对于快速排序来说,直接写出是有些难度的,可以用以下的方式来解释。 原理: 1、在一组数列中选择一个数a[n]作为基础数 2、进行分区,将比a[n] 大的数全部放在它的右边,比它小的数放
2015-08-27 10:32:47
403
原创 算法 —— 堆排序
堆排序与快速排序,归并排序都是时间复杂度为O(N*logN) 的排序方法。在学习堆排序之前,首先讲解一下数据结构当中的二叉堆。 图一 如图一所示,就是一个二叉堆。 二叉堆满足的特性为: 1、父节点的键值总是大于或等于(小于或等于)任何一个子节点的键值
2015-08-27 10:31:53
378
原创 算法 —— 归并排序
原理: 归并排序是建立在归并操作上的一种排序算法,将两个(或两个以上)的有序表合成一个新的有序表,即把待排序列分为若干个子序列,每个子序列都是有序的。然后再把有序子序列合并为新的整体有序序列。 归并算法的核心:先分解,再合并。 如何让数组内的数据有序? 可以将A、B两组数据内部再进行数据分组,直到每个小组只有一
2015-08-27 10:30:32
438
原创 算法 —— 希尔排序
希尔排序是插入排序的进一步的展示方式。 1、原理:希尔排序将所有的元素分为若干个子序列,在这些子序列内部进行直接插入排序,然后再将子序列的内部元素数量减小,等到所有的待排元素的基本有序时,再将全体元素进行一次直接插入排序。 简单举例 现在我们有需要待排的10个数字,分别为:10,25,3,54,56,1,46,74,79,32。步长 为 10 /
2015-08-27 10:29:58
355
原创 算法——插入排序
原理: 把一个 数据 arr[i] 插入到 已经有序的 arr[0] ~ arr[i - 1] 当中。此时 arr[0] ~ arr[i - 1] 是已经排列好的,有序的数组。遍历 arr[0] ~ arr[i - 1] ,找到 相应的位置,将 arr[i] 插入到数组当中。 1、原始方法 NSInteger i , j , k; f
2015-08-27 10:29:15
285
原创 算法——冒泡排序
1、冒泡排序 原理:1、冒泡排序就是取出第n个数字,然后和 第n + 1 个数字相比较,如果arr[n] > arr[n + 1],则调换两个的位置 2、直到 n = 数组总数量 - 1 , 完成对于数组的遍历,保证最大的数据放到最后的位置。 3、n ++ ,直到 n = 数组总量 - 1,否则重复前两步事例:
2015-08-27 10:25:47
382
原创 利用UICollectionView 实现 页面瀑布流效果
目前很多的app在页面的当中添加了瀑布流的效果。这个效果可以使用UIScrollView 来实现,但是利用此控件虽然灵活性比较高,但是在瀑布流当中,需要使用大量的image,需要考虑到大量image 添加到UI上会耗费大量的内存。苹果官方在IOS6.0 版本之后,添加了UICollectionView这个控件。此控件和UITableview 控件类似,继承了UIScrollView类。
2015-07-15 15:04:12
627
原创 cocoapods 环境配置及使用 (MAC OS X 10.11 更新后的新的安装方式)
一、 创建使用环境 1、 安装ruby 环境 (1)安装 RVM a. $ curl -L https://get.rvm.io | bash -s stable 期间可能会使用sudo 管理员密码,以及自动通过homebrew 安装依赖包,等待一段时间就可以安装好。
2015-07-08 10:39:45
567
原创 NSTimer 定时器的使用
在开发过程中,有时我们会需要用到计时或者是重复执行某个事件的功能。比如说,在手机发送验证码的功能当中的倒计时功能,每隔3s图片自动跳转的功能等。这时,我们可以使用NSTimer 定时器。 在NSTimer 类当中,主要提供了以下方法:+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvoc
2015-06-01 14:52:03
442
原创 delegate、NSNotification、block三者的比较
在IOS开发过程中,delegate、NSNotification、block是比较常用的形式。但是在使用过程中,三者会有着一些区别。 在开发过程中,我们经常会遇到不同的页面之间进行数据传递等方式的通信。在本人的开发过程中,比较常遇到的方式有:delegate委托;NSNotification 通知;block形式。 那这三种方式应该选择哪种方式呢? 1、delega
2015-05-21 09:53:43
548
原创 利用NSCache 和 沙盒文件存储 进行 app当中的数据缓存
在iOS 的数据存储类中,NSCache 和 NSDictionary 类很像,都是通过key值寻找其对应的值。不同的是,在内存不足时,NSCache 会自动释放。 在很多的app中,要求数据缓存,或者是图片进行缓存,如果直接在沙盒文件当中读取,会出现app前端出现卡顿的现象。 所以,可以利用NSCache和文件结合的方式,先将文件当中的数据读取到NSCache类当中,前台
2015-05-19 11:11:26
1824
原创 CGRect 的使用
1、常用创建方法 (1) 创建一个坐标点 CGPoint point = CGPointMake(10,10); (2)创建一个矩形 CGRectrect = CGRectMake(10, 10, 100, 100); (3)创建一个尺寸 CG
2015-04-10 14:27:59
533
原创 IOS 部分的GCD 异步线程方法简述
一、工作原理 让程序平行排队的特定任务,根据可用的处理资源,安排其在任何可用的处理器和欣赏执行任务。 可以是block 或者是函数(function)。二、工作方式 1、最常用的方式 dispatch_async 异步线程处理方式 a. 好处:(1)异步线程操作
2015-04-09 13:57:00
1396
原创 IOS 端APP 使用第三方登陆
目前非常多的app在登陆的时会使用第三方登陆,主要的方式是:qq、微信及微博。现在就这三种方式进行一下解释1、qq登陆qq登陆相对来说是比较方便的。2、微信登陆3、微博登陆
2015-01-23 17:09:58
1002
原创 ios8 CLLOcationManager 定位与ios7的对比
ios8在app进行定位的问题上,同ios7 有了一些不同,在ios7当中,只要 对CLLocationManager 类进行实例化,即: self.locationManager = [[CLLocationManager alloc] init]; [self.locationManager setDelegate:self]; [self.locationMan
2015-01-22 15:45:58
592
原创 LazyTableImages 见解
LazyTableImages 是苹果官方的tableview上添加images的demo,这个demo的功能主要为:1、图片下载为异步传输2、tableview在滑动过程中不会进行线程加载3、在tableview滑动结束后,根据视图中出现的tableview的indexpath 进行相应的图片下载,从而保证在tableview滑动过程中及滑动结束后不会由于多个线程卡顿的现象产生
2014-08-29 16:45:21
573
原创 ZCPassWordOfGestures 使用方法
简介:ZCPassWordOfGestures 是模仿支付宝等一些app的手势密码页面使用方法: 1、添加ZCGesturesPassWord.h 和ZCGesturesPassWord.m文件到项目当中 2、在需要使用手势触摸的页面添加ZCGesturesPassWord.h 头文件,如下所示 #import #import "ZCGesturesP
2014-08-28 10:32:28
663
原创 ZCPhotoPickerViewTest使用说明
ZCPhotoPickerViewTest使用说明 1、 在项目中添加 AssetsLibrary.framework2、 添加 ZCPhotoPickerView 文件夹到项目当中3、 在需要添加图片选择器的页面当中添加ZCHeader.h 头文件,并添加 ZCPhotoViewControllerDelegateself._view
2014-08-28 10:24:17
476
原创 SpeakHere 配置说明
SpeakHere 配置说明之前在群里看到有童鞋使用苹果官方的SpeakHere 进行语音识别,但是一直配置出错,昨天试了一下,有些细节问题需要注意,这里来说一下我的配置说明。 需要注意的是,SpeakHere 是非arc工程,Xcode5.1在进行工程创建时默认arc步骤:1.创建工程,将需要的文件都添加到工程当中class文件夹中的SpeakHere
2014-08-28 10:00:16
1321
原创 cocos2d-x 初学,新工程创建
本人之前一年的时间一直在做IOS的应用,刚换了工作之后,开始学习cocos2d-x,之前一直是用OC语言来写代码,现在通过C++ 语言来写,有很多的不习惯。 但是从现在开始慢慢的学习吧! 写博客的主要原因也主要是将自己学到的东西写下来,更熟悉。 今天主要是通过cocos2d-x-2.2.2 来创建工程。 打开终端,找到cocos2d-x-2.
2014-03-14 16:15:52
582
CacheModel 类文件
2015-05-19
LazyTableImages 见解
2014-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人