多维数组_排序

;2015年1月5日12:43:49
;sunwind
;数组学习
Array :=[["a1","a2",3],["b1","b2",2],["c1","c2",1]]
Array.Insert(2,["d1","d2",1])
Array.join := Func("Array_Join")
Array.insert := Func("Array_Insert")
Array.delete := Func("Array_Delete")
Array.sort := Func("Array_sort")

MsgBox % Array.join()
Msgbox, % Array.sort().join("`n")
Msgbox, % Array.reverse().join("`n")
return
Array(p*){
	p.base := Object("join", "Array_Join", "reverse", "Array_Reverse", "sort", "Array_sort", "insert", "Array_Insert", "delete", "Array_Delete")
	Return p
}
Array_Join(arr, sep="`n"){
	Loop, % arr.MaxIndex()
	{
		i:=A_Index
		Loop,  % arr[1].MaxIndex()
		{
			j:=A_Index
			str .= arr[i][j] "|"
		}
		str .=sep
	}
	StringTrimRight, str, str, % StrLen(sep)
	return str
}


Array_Sort(arr, func="Array_CompareFunc"){
	n := arr.MaxIndex(), swapped := true
	while swapped {
		swapped := false
		Loop, % n-1 {
			i := A_Index
			if %func%(arr[i][3], arr[i+1][3], 1) > 0 ; standard ahk syntax for sort callout functions
				arr.insert(i, arr[i+1]).delete(i+2), swapped := true
		}
		n--
	}
	Return arr
}
Array_CompareFunc(a, b, c){
	return a > b ? 1 : a = b ? 0 : -1
}

Array_Reverse(arr) {
	arr2 := Array()
	Loop, % len:=arr.maxindex()
    {
		arr2[len-(A_Index-1)] := arr[A_Index]
    }
	Return arr2
}

Array_Insert(arr, index, p1="……", p2="……", p3="……", p4="……", p5="……", p6="……"){
	While (_:=p%A_Index%)!="……" && A_Index

给TA捐赠
共{{data.count}}人
人已捐赠
其他

多级菜单test

2020-3-9 2:04:44

其他

多重搜索

2020-3-9 2:06:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索