oc對陣列排序

2021-06-21 18:03:17 字數 1186 閱讀 9987

nsmutablearray *array1 = [[nsmutablearray alloc ]initwithobjects:

@,@,

@,@,

@,@,

@,@,

@,@,

@,@,

@,@,

@,@,

@,@,

@,@,

nil];

這是資料來源,對陣列裡面的字典的***屬性進行排序:

第一種方案   :  氣泡排序寫倆for迴圈

//氣泡排序

nsdictionary *t;

for (int i = 0; i<[array1 count]-1; i++)

}}

冒泡對於陣列裡複雜的資料都可以排序,專案裡我的資料是格式是     陣列--->字典-->陣列-->字典   根據最後字典裡的某乙個屬性進行排序。

第二種方案  :    利用 nssortdescriptor 類

nssortdescriptor *sortdescriptor = [[nssortdescriptor alloc] initwithkey:@"***" ascending:yes];

[array1 sortusingdescriptors:[nsarray arraywithobject:sortdescriptor]];

這裡yes是代表公升序,降序變成no。有點要說明下,這個類這麼寫進行排序只是根據第乙個數字去排序比如:1,32,123,23  利用他排序後的結果是 , 1,123,23,32字母也是一樣。

第三種方案  :    nscomparator

nscomparator cmptr = ^(id obj1, id obj2)

if ([t1 doublevalue]>[t2 doublevalue])

return (nscomparisonresult)nsorderedsame;

};

在要適當的地方,用陣列呼叫:

[array1 sortusingcomparator:cmptr];

備註:以上為本人淺見,如有不對之處,請各位大大們指出糾正,謝謝!!

tensorflow對陣列排序

有時我們會遇到tensor域下的陣列排序,比如按照一定規則對輸入排序。import tensorflow as tf import numpy as np a tf.placeholder tf.int32,shape 3,2 bb tf.constant a the array reordered...

對陣列進行排序

函式名稱 排序依據 陣列索引鍵保持 排序的順序 相關函式 array multisort 值鍵值關聯的保持,數字型別的不保持 第乙個陣列或者由選項指定 array walk asort 值是 由低到高 arsort arsort 值是 由高到低 asort krsort 鍵是 由高到低 ksort ...

C 的對陣列排序

int list int list new int 10 for int i 0 i 10 i console.writeline 排序前 for int i 0 i list.length i console.writeline list i console.writeline int tmp 0...