00『 基础知识 』

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

2018-06-05  本文已影响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);

        }

    }

}

上一篇 下一篇

猜你喜欢

热点阅读