oc-数组内元素排序

#import <Foundation/Foundation.h>

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

@autoreleasepool {

//数组内元素排序

NSArray *arr=@[@"MON",@"TUE",@"WED",@"THU",@"FRI",@"SAT",@"SUN"];

NSArray *sortArr=[arr sortedArrayUsingSelector:@selector(compare:)];

for (id str in sortArr) {

NSLog(@"%@",str);

}

NSLog(@"\n");

/*

id当不确定数组元素的类型时,可以选择用id

nsobject和id都是指向任何对象

nsobject使用时必须强转

instancetype  可以返回和方法所在类相同类型的对象  返回值类型但是绝对不能传参数

id只能返回未知类型的对象   参数适用

*/

//数组排序--block

NSComparator sortBlock=^(id obj1,id obj2){

return [obj1 compare:obj2];

};

NSArray *sortArray=[arr sortedArrayUsingComparator:sortBlock];

for (id str in sortArray) {

NSLog(@"%@",str);

}

}

return 0;

}

时间: 2024-10-13 00:32:11

oc-数组内元素排序的相关文章

数组内元素排序及数组排序

#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *[email protected][@&q

PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: <?php // 先查询出用户的基本信息 $userArray = [['id' => 'zs', 'name' => '张三'], ['id' => 'ls', 'name' => '李四'], ['id' => 'wr', 'name' => '王二']]; // 将二维数组内某具体列的值组成一个新用户数组 $userArrayNew = array_

简单的对数组内字符串排序方法

//  NSArray * sortedArray = [cache sortedArrayUsingSelector:@selector(compare:)]; { NSArray * arr1 = @[@"A",@"B",@"C",@"D"]; NSArray * arr2 = @[@"1",@"2",@"3"]; NSArray * arr3 = @[@&quo

C++_第七章函数的基本知识_求阶乘的子函数_ 函数参数类型为数组_ 求数组内所有元素和、部分元素和的方法_实现了先从键盘输入到一个数组中,再用for循环取读出数组中的元素 for循环也可以用break来结束循环的

/* 第七章函数的基本知识 */ /*01)c++对于返回值有一定的限制:可以是常量.变量.指针.结构对象或表达式,但不可以是数组02)c++返回数组的方法:将数组作为结构会对象组成部分来返回03)函数遇到return则结束该函数04)如果一个函数的两房额参数类型相同,则必须分别制定每个参数的类型,而不能像声明常规变量那样,将声明组合在一起05)*/ //本代码注意double类型的写法以及double和int类型数据的转换 1 #include <iostream> 2 3 void che

angularjs 解决ng-repeat数组内重复对象报错的问题

ng-repeat 循环数组内元素时,如果数组内元素重复,angular会抛出异常: Error: [ngRepeat:dupes] http://errors.angularjs.org/1.4.3/ngRepeat/dupes?p0=record%20in%20records&p…2coachCode%22%3A%2200455532%22%2C%22%24%24hashKey%22%3A%22object%3A5%22%7D 为解决这个问题,可以在ng-repeat指令中加上track b

LeetCode:Contains Duplicate - 判断数组内是否有重复元素

1.题目名称 Contains Duplicate(判断数组内是否有重复元素) 2.题目地址 https://leetcode.com/problems/contains-duplicate/ 3.题目内容 英文:Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in

转 :asp教程.net c#数组遍历、排序、删除元素、插入、随机元素 数组遍历

asp教程.net c#数组遍历.排序.删除元素.插入.随机元素数组遍历 short[] sts={0,1,100,200};for(int i=0;i<sts.lenght;i++){  if(sts[i]>50) {  .....  }} 数组随机元素 public  hashtable  noorder(int count)         {             arraylist mylist = new arraylist();             hashtable ha

程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】

转!http://blog.csdn.net/dabusideqiang/article/details/38271661 11.求旋转数组的最小数字 题目:输入一个排好序的数组的一个旋转,输出旋转数组的最小元素. 分析:数组的旋转:把一个数组最开始的若干个元素搬到数组的末尾.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1.这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组

数组内的对象按照2个属性进行排序

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> 数组内的对象按照2个属性进行排序(先按time从大到小排序,再按weight从大到小排序),请查看控制台看输出结果:<br/> var array = [<br/>