OC语言的一些基础算法

标签: oc基础算法
0人阅读 评论(0) 收藏 举报
分类:

1:逆序查找

-(void)reverseSequenceLookUpWithArray:(NSMutableArray *)array{
    
    for (int min = 0, max = (int)array.count-1; min < max; min++,max--) {
        NSString *temp;
        temp = array[min];
        array[min] = array[max];
        array[max] = temp;
    }
    
}

注意:比较大小时注意把数组里面的对象转换为基本数据类型再进行比较

2:选择排序

-(void)selectSortWithArray:(NSMutableArray *)array{
    for (int i = 0; i < array.count - 1; i++) {
        for (int j = i+1; j < array.count; j++) {
            int a = [array[i] intValue];
            int b = [array[j] intValue];
            NSString * temp;
            if (b < a) {

                temp = array[j];
                array[j] = array[i];
                array[i] = temp;
                
            }
        }
    }
}

3:冒泡排序

-(void)bubbleSortWithArray:(NSMutableArray *)array{
    for (int i = 0; i < array.count - 1; i++) {
        for (int j = 0; j < array.count - 1 - i; j++) {
            int a = [array[j] intValue];
            int b = [array[j + 1] intValue];
            NSString * temp;
            if (b < a) {
                temp = array[j + 1];
                array[j + 1] = array[j];
                array[j] = temp;
        }
    }
    
 }
}

4:折半查找(前提数组必须是有序的)

-(void)binarySearchWithArray:(NSMutableArray *)array withNumber:(int)num{
    int min = 0;
    int max = (int)(array.count - 1);
    int mid = (min + max)/2;
    while (min <= max) {
        for (int i = 0; i < array.count - 1; i++) {
            if (num < [array[mid] intValue]) {
                max = mid - 1;
            }else if(num > [array[mid] intValue]){
                min = mid + 1;
            }else{
                id a = array[mid];
                NSLog(@"-----%@",a);
                return;
            }
            mid = (min + max)/2;
        }
    }
    NSLog(@"没有匹配项");
    return;

}

查看评论

C语言算法基础

C语言算法基础            算法(Algorithm):计算机解题的基本思想方法和步骤算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述...
  • zhang63020936
  • zhang63020936
  • 2014-12-19 09:03:16
  • 955

一些基础算法(1)

关于排序: 1,堆排序 堆排序有两点,以大根堆为例 (1),对仅仅头结点被改变的大根堆的头节点的重新调整。 (2),将大根堆的头结点依次转移到存储堆的数组的末尾。 在调整模块中,输入的数据仅仅为一...
  • qq_25628215
  • qq_25628215
  • 2015-09-16 16:06:35
  • 153

Mate-基于标签的框架

Mate 将会成为Flex领域的另一个热点。它使用设置(configuration)来调用Service,处理结果,同样也使用设置文件来更新绑定对象(Bindable object)。从某个角度来说:...
  • babylon_0049
  • babylon_0049
  • 2011-06-18 16:20:00
  • 473

【分享】一些经典的C/C++语言基础算法及代码(一)

阅读到的一些经典C/C++语言算法及代码。在此分享。 1、计算Fibonacci数列 Fibonacci数列又称斐波那契数列、黄金分割数列:1、1、2、3、5、8、13、21…… C语言实现代码: 代...
  • qq_25071449
  • qq_25071449
  • 2017-07-25 20:18:13
  • 186

C#实现的基本算法

  • zgqtxwd
  • zgqtxwd
  • 2008-04-24 08:42:00
  • 202

【机器学习】基础机器学习算法

转载:http://mp.weixin.qq.com/s?__biz=MzIzOTU0NTQ0MA==&mid=2247483901&idx=1&sn=a998e14b66c41dfd8738b76b...
  • SMF0504
  • SMF0504
  • 2016-10-09 13:53:08
  • 568

iOS常见算法

1、 对以下一组数据进行降序排序(冒泡排序)。“24,17,85,13,9,54,76,45,5,63” int main(int argc, char *argv[]) { int a...
  • bowei1105
  • bowei1105
  • 2017-06-21 14:38:04
  • 66

c语言基础算法(一)---排序

c语言简单排序算法在c语言学习中,排序算法很重要,在学完数组后,就必须学会排序算法,不论是刷题还是做一些东西,都必须掌握,下面介绍几种简单的排序算法。桶排序–最简单最快的排序桶排序,从名字上都觉得蛮有...
  • sakurakider
  • sakurakider
  • 2017-07-12 21:09:05
  • 262

halcon基本语法和常用算法

count_obj select_obj 工具栏里有几个按钮在图像分析中比较方便 第一个是灰度直方图,用于将灰度图像变成二值图像 里面有个插入代码,点击一下会插入代码比如t...
  • songqqnew
  • songqqnew
  • 2012-08-17 22:06:33
  • 1848

C语言经典最基础算法题(从小白到大神)

我会把我学习C语言碰到的经典的算法题目全都归类到这个帖子中,希望对和我一样学习编程的小白有帮助!但求精简,以最少的时间入门C语言。 1.输入n个数,输出其中最大的一个数。 #include int...
  • u013047859
  • u013047859
  • 2016-04-13 15:24:53
  • 1089
    个人资料
    持之以恒
    等级:
    访问量: 9523
    积分: 288
    排名: 27万+
    文章存档