iOS疯狂详解之排序(选择排序/插入排序)

选择排序

1.先求最小值

2.找到位置

3.把位置的数放到有序区

4.重复

    for (int j = 0; j < count - 1; j++) {

        int minIndex = j;//  最小值的角标

        for (int i = minIndex + 1; i < count; i++) {

            if (array[minIndex] > array[i]) {
                minIndex = i;
            }

        }

        if (minIndex != j) {  //  优化 无序区的头 不是第一个 

            //  最小值 放入头部
            int temp;
            temp = array[minIndex];
            array[minIndex] = array[j];
            array[j] = temp;

        }

    }

插入排序

for (int i = 1; i < count; i++) {

        int j = i; //  确定当前坑的位置

        int temp = array[j];  //  目标出列

        while (j > 0 && temp < array[j - 1]) {

            array[j] = array[j - 1]; // 向后顶大的

            j--;  //  向前移坑
        }

        array[j] = temp;  //  目标进坑
    }
时间: 2024-10-12 10:35:09

iOS疯狂详解之排序(选择排序/插入排序)的相关文章

iOS疯狂详解之视频播放MPMoviePlayerViewController

需要导入的框架 #import <MediaPlayer/MediaPlayer.h> MediaPlayer.framework MPMoviePlayerViewController: 打开网络视频: -(void)openmovie { MPMoviePlayerViewController *movie = [[MPMoviePlayerViewControlleralloc]initWithContentURL:[NSURLURLWithString:@"视频网络地址&qu

iOS疯狂详解之第三方微信授权登录的iOS代码分析

微信已经深入到每一个APP的缝隙,最常用的莫过分享和登录了,接下来就以代码的形式来展开微信登录的相关说明,至于原理级别的oauth2.0认证体系请参考微信开放平台的相关说明和图示 https://open.weixin.qq.com/ 微信登录授权开发 1,到微信开发平台注册相关APP,现在是等待审核成功后才能获取到对应的key和secret:获取成功后需要单独申请开通登录和支付接口,如图 2,和QQ类似,需要填写Url Schemes,如demo中的wxd930ea5d5a258f4f ,然后

iOS疯狂详解之CocoaPods本身版本升级

查看CocoaPods版本 $ pod --version 0.34.4 确实需要更新了 命令行更新(安装)步骤 $ sudo gem update --system // 先更新gem,国内需要切换源 $ gem sources --remove https://rubygems.org/ $ gem sources -a http://ruby.taobao.org/ $ gem sources -l \*\*\* CURRENT SOURCES \*\*\* http://ruby.tao

iOS疯狂详解之ASIHttpRequest的简单封装

//  iOS疯狂详解之ASIHttpRequest的简单封装 //  WLHTTPClient.h //  WLWLListen // //  Created by long on 14-12-15. //  Copyright (c) 2014年 WLong. All rights reserved. // #import <Foundation/Foundation.h> #import "ASIFormDataRequest.h" @protocol WLHTTPC

iOS疯狂详解之开源库

youtube下载神器:https://github.com/rg3/youtube-dl vim插件:https://github.com/Valloric/YouCompleteMe vim插件配置:https://github.com/spf13/spf13-vim ----------------Mac完整项目---------- 电台:https://github.com/myoula/sostart ----------------iOS完整项目---------------- 1,

iOS疯狂详解之CocoaPods做iOS程序包的依赖管理

每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库.比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,这个工具叫:CocoaPods. CocoaPods简介 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具.CocoaPods项目的源码在Github上管理.该项目开始于2011年8月12日,经过一年多的发

iOS疯狂详解之录制音频转换成Mp3

使用第三方 lame ,Mp3音频编码器. 使用 AVAudioRecorder 进行音频录制之前,进行参数设置: NSString *recordTemporaryPathString = [NSString stringWithFormat:@"%@/temporary",self.audioTemporarySavePath]; //LinearPCM 是iOS的一种无损编码格式,但是体积较为庞大 //录音设置 NSMutableDictionary *recordSetting

iOS疯狂详解之AFNetworking图片缓存问题

AFNetworking网络库已经提供了很好的图片缓存机制,效率是比较高的,但是我发现没有直接提供清除缓存的功能,可项目通常都需要添加 清除功能的功能,因此,在这里我以UIImageView+AFNetworking类中添加了下面一个清除功能方法: + (void)clearCache; + (void)clearCache { AFImageCache *cache = (AFImageCache *)[UIImageView sharedImageCache]; [cache removeA

iOS疯狂详解之tableview编辑添加删除

// //  VkoWLAccountVC.m //  PocketUniversity // //  Created by long on 15-1-14. //  Copyright (c) 2015年 WLong. All rights reserved. // #import "VkoWLAccountVC.h" #import "VkoWLMoreTableViewCell.h" #define kIcoArray @[@"消息",@&

iOS疯狂详解之warning:performSelector may cause a leak because its selector is unknown

主要是警告信息,在非ARC项目中没有这个警告.如果是在某一处修改只需要加入下列代码: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warc-performSelector-leaks" [self.ticketTarget performSelector: self.ticketAction withObject: self];//此处是你调用函数的地方 #pragma clang diagnosti