dnvplj 发表于 2019-3-7 07:37:04

二维数组如何排序

本帖最后由 dnvplj 于 2019-3-7 08:27 编辑

请问各位朋友,二维数组如何排序,见下图和代码。

#include <Array.au3>

Local $Array = _Twoarray()
_Aftersorting($Array)

;原数组
Func _Twoarray()
      
      Local $Array = [ _
                        , _
                        , _
                        , _
                        , _
                        ]

      Return $Array
EndFunc   ;==>_Twoarray

;排序后
Func _Aftersorting($Array)
      
      _ArrayDisplay($Array, "$Array")
EndFunc   ;==>_Aftersorting

zghwelcome 发表于 2019-3-7 18:09:27

#include <Array.au3>

Local $Array = _Twoarray()
_ArrayDisplay($Array, "排序前")
_Aftersorting($Array)
_ArrayDisplay($Array, "排序后")


;原数组
Func _Twoarray()

        Local $Array = [ _
                        , _
                        , _
                        , _
                        , _
                        ]

        Return $Array
EndFunc   ;==>_Twoarray

;排序
Func _Aftersorting(ByRef $Array)
        If Not IsArray($Array) Then Return SetError(1)
        Local $aRet
        For $i = 0 To UBound($Array) - 1
                For $j = 0 To UBound($Array, 2) - 1
                        ReDim $aRet
                        $aRet = $Array[$i][$j]
                Next
        Next
       
        Local $i_ub = UBound($aRet)
        For $i_count = 0 To $i_ub - 2
                Local $i_se = $i_count
                For $x_count = $i_count To $i_ub - 1
                        If Number($aRet[$i_se]) > Number($aRet[$x_count]) Then $i_se = $x_count
                Next
                Local $i_hld = $aRet[$i_count]
                $aRet[$i_count] = $aRet[$i_se]
                $aRet[$i_se] = $i_hld
        Next

        $i_count = 0
        For $i = 0 To UBound($Array,2) - 1
                For $j = 0 To UBound($Array) - 1
                        $Array[$j][$i] = $aRet[$i_count]
                        $i_count += 1
                Next
        Next
        ReDim $aRet
EndFunc   ;==>_Aftersorting



dnvplj 发表于 2019-3-7 19:22:26

zghwelcome 发表于 2019-3-7 18:09


谢谢朋友,问题解决了。

zmdzhxj 发表于 2019-10-17 20:56:35

厉害,学习啦
页: [1]
查看完整版本: 二维数组如何排序