Revision: 58469
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 17, 2012 03:52 by barigazy
Initial Code
fn sortByNameOrCount arr1 arr2 type: maxtomin: = ( local first, second case type of ( (#name): (first = arr1[1] ; second = arr2[1]) (#count): (first = arr1[2].count ; second = arr2[2].count) ) case of ( (first < second): if not maxtomin then -1 else 1 (first > second): if not maxtomin then 1 else -1 default:0 ) ) --example_#1 (sort by name alphabetically from Z to A) multiArr = #(#("Branko",#(1,2,3,4)), #("John",#(1)), #("Richard",#(1,2,3)), #("Stalone",#(1,2,3,4,5)), #("Michael",#(1,2))) qsort multiArr sortByNameOrCount type:#name maxtomin:true multiArr --result: #(#("Stalone", #(1, 2, 3, 4, 5)), #("Richard", #(1, 2, 3)), #("Michael", #(1, 2)), #("John", #(1)), #("Branko", #(1, 2, 3, 4))) --example_#2 (sort by name alphabetically from A to Z) multiArr = #(#("Branko",#(1,2,3,4)), #("John",#(1)), #("Richard",#(1,2,3)), #("Stalone",#(1,2,3,4,5)), #("Michael",#(1,2))) qsort multiArr sortByNameOrCount type:#name maxtomin:false multiArr --result: #(#("Branko", #(1, 2, 3, 4)), #("John", #(1)), #("Michael", #(1, 2)), #("Richard", #(1, 2, 3)), #("Stalone", #(1, 2, 3, 4, 5))) --example_#3 (sort by array count from max to min) multiArr = #(#("Branko",#(1,2,3,4)), #("John",#(1)), #("Richard",#(1,2,3)), #("Stalone",#(1,2,3,4,5)), #("Michael",#(1,2))) qsort multiArr sortByNameOrCount type:#count maxtomin:true multiArr --result:#(#("Stalone", #(1, 2, 3, 4, 5)), #("Branko", #(1, 2, 3, 4)), #("Richard", #(1, 2, 3)), #("Michael", #(1, 2)), #("John", #(1))) --example_#4 (sort by array count from min to max) multiArr = #(#("Branko",#(1,2,3,4)), #("John",#(1)), #("Richard",#(1,2,3)), #("Stalone",#(1,2,3,4,5)), #("Michael",#(1,2))) qsort multiArr sortByNameOrCount type:#count maxtomin:false multiArr --result:#(#("John", #(1)), #("Michael", #(1, 2)), #("Richard", #(1, 2, 3)), #("Branko", #(1, 2, 3, 4)), #("Stalone", #(1, 2, 3, 4, 5)))
Initial URL
Initial Description
Sort multidimesional array using qsort
Initial Title
SORTING MULTIDIM ARRAY BY NAME OR BY COUNT
Initial Tags
sort, array
Initial Language
Maxscript