不可变数组或者可变数组进行排序

#import <Foundation/Foundation.h>

NSInteger myCompare(id obj1,id
obj2,void *context)

{

//不分大小写进行升序排序

//return [obj1 caseInsensitiveCompare:obj2];

return -[obj1
caseInsensitiveCompare:obj2];

}

int main(int argc, const
char * argv[])

{

@autoreleasepool {

NSArray
*array=@[@"one", @"Two",
@"Three", @"Four"];

NSMutableArray
*mutableArray=[NSMutableArrayarrayWithArray:array];

//1不可变数组通过自定义比较规则来比较字符串

NSArray *result= [array
sortedArrayUsingFunction:myComparecontext:nil];

NSLog(@"%@\n",result);

//类提供compare方法不想改变数组顺序

[array
sortedArrayUsingSelector:@selector(compare:)];

NSLog(@"%@\n",array);

//2直接在数组内排序

[mutableArray
sortUsingFunction:myCompare
context:nil];

NSLog(@"%@\n",mutableArray);

}

return 0;

}

不可变数组或者可变数组进行排序,布布扣,bubuko.com

时间: 2024-12-25 12:03:48

不可变数组或者可变数组进行排序的相关文章

Objective-C 数组与可变数组

知识点 1.NSArray 类的重点函数使用 2.NSMutableArray 类的重点函数使用 3.字符串的分割和拼接 ============================ NSArray,    NSMutableArray 1.[需要理解的知识] 1.1 C语言中数组 1. 相同数据类型的集合: int a[10]; float b[20]; char c[30]; 2. 数组地址是连续; 1.OC数组和c数组的区别 1.NSArray是个类 数组是对象: 存储也是对象: 2.数组不能

NSArray与NSMutableArray 数组与可变数组的创建和遍历 复习

1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组. 2.NSArray的创建 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four good",nil];//用对象初始化一个数组,这里是任意四个对象,不一定是字符串.//OC中的数组,不是真正的数组,这是一个链表,nil的作用正是表

NSArray与NSMutableArray 数组与可变数组

1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four good",nil];//用对象初始化一个数组,这里是任意四个对象,不一定是字符串.//OC中的数组,不是真正的数组,这是一个链表,nil的作用正是表明结

数组与可变参数

定义一个函数时,如果我们不确定无法确定参数的个数,那么就需要使用到可变参数,可变参数就是可以接收数量不确定的多个参数值. 在JDK 1.5之前都是通过数组来解决参数不确定问题.其实可变参数本质上就是一个数组,可以通过数组的下标来反问可变参数的元素. 1.将可变参数赋值给数组类型对象 由于可变参数也是数组,因此,可以直接将可变参数对象赋值给数组类型对象. 2.可变参数值的遍历: 由于可变参数就是一个数组,只是写法与数组不一样.当需要访问可变参数值时,可以像访问一个数组一样访问,以及可以使用数组对象

【leetcode 简单】 第七十九题 区域和检索 - 数组不可变

给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点. 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3 说明: 你可以假设数组不可变. 会多次调用 sumRange 方法. class NumArray: def __init__(self, n

LeetCode--303--区域和检索 - 数组不可变

问题描述: 给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点. 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange() sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3 说明: 你可以假设数组不可变. 会多次调用 sumRange 方法. 方法: 1 class NumArray: 2 3 def

iOS objective-c之-8:数组NSArray 可变数组-(NSMutableArray)

镔哥自己了一些数组方法,网上又查了些方法出来,应该是比较全面的. 下面的例子以 NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"tom",@"jonery",@"stany", nil]; 1.获取数组中总共有多少个对象. - (NSUInteger)count; NSLog(@"%d",[array count

qsort 函数的使用——对普通数组、指针数组、二维数组中的元素进行排序

在ANSI C中,qsort函数的原型是 #include <stdlib.h> void qsort(void *base, size_t nmemb, size_t size, int (*compar) (const void *, const void *)); 解释:qsort函数对含有nmemb个元素的数组进行排序,而base指针指向数组的第一个元素.这个数组的元素个数由size指定. compar函数对qsort的比较操作进行定义,所以可以定制数字的比较,字符串的比较,甚至结构体

php 二位数组按某个键值排序

$arr=[ array( 'name'=>'小坏龙', 'age'=>28 ), array( 'name'=>'小坏龙2', 'age'=>14 ), array( 'name'=>'小坏龙3', 'age'=>59 ), array( 'name'=>'小坏龙4', 'age'=>23 ), array( 'name'=>'小坏龙5', 'age'=>23 ), array( 'name'=>'小坏龙6', 'age'=>21