美文网首页00『 基础知识 』
iOS 中堆和栈的区别以及冒泡排序

iOS 中堆和栈的区别以及冒泡排序

作者: 高乔人 | 来源:发表于2018-06-05 11:46 被阅读1次

    在引入堆和栈之前,先要知道,iOS中的内存管理范围:

     OC对象需要进行内存管理,非oc对象不需要进行内存管理,比如基本数据类型

    OC对象存放于堆里面(堆内存要程序员手动回收)

    非OC对象一般放在栈里面(栈内存会被系统自动回收)

    堆里面的内存是动态分配的,所以也就需要程序员手动的去添加内存、回收内存

    另外写一个冒泡排序吧,水平有限,还望指正:

    NSMutableArray * array1 =[[NSMutableArray alloc]initWithObjects:@"zhishi",@"wag",@"bge",@"hao",@"chishiqu",@"xiaomi", nil];

        for(inti =0; i<[array1count]-1; i++) {

            for(intj =0; j<[array1count]-1-i; j++) {

                if(([array1[j]compare:array1[j+1]]) ==NSOrderedDescending){

                    //交换

                    [array1exchangeObjectAtIndex:j withObjectAtIndex:j+1];

                    NSLog(@"%@",array1);

            }

        }

    }

    相关文章

      网友评论

        本文标题:iOS 中堆和栈的区别以及冒泡排序

        本文链接:https://www.haomeiwen.com/subject/gnjpsftx.html