二维数组按字母排序

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:50:12
paramArr(0,0) = "method"
paramArr(0,1) = "taobao.taobaoke.items.get"
paramArr(1,0) = "timestamp"
paramArr(1,1) = Format_Time(now(),1)
paramArr(2,0) = "format"
paramArr(2,1) = "xml"

有上述二维数组

想实现按paramArr(x,1)排序,要实现排列后的结果如下:
paramArr(0,0) = "format"
paramArr(0,1) = "xml"
paramArr(1,0) = "method"
paramArr(1,1) = "taobao.taobaoke.items.get"
paramArr(2,0) = "timestamp"
paramArr(2,1) = Format_Time(now(),1)

f、m、t这样按字母升序排列

目前只知道PHP中可以通过ksort实现排序...

希望高手能提供相应ASP或VB的function,谢谢
大哥,这样排列出来顺序不对啊...
另外,我需要对一个未知个数的二维数组进行排序

paramArr(x,0)升序?paramArr(x,1)降序?试试(注意sort中的a数据类型必须与paramarr保持一致,sort对长度不定的二维数组都是可以处理的):

Private Sub Command1_Click()
Dim paramarr(0 To 2, 0 To 1)
paramarr(0, 0) = "method"
paramarr(0, 1) = "taobao.taobaoke.items.get"
paramarr(1, 0) = "timestamp"
paramarr(1, 1) = Format_Time(Now(), 1)
paramarr(2, 0) = "format"
paramarr(2, 1) = "xml"
Sort paramarr
For i = 0 To 2
For j = 0 To 1
Print paramarr(i, j)
Next
Next
End Sub

Private Sub Sort(a())
Dim i, j, t
For i = LBound(a, 1) To UBound(a, 1) - 1
For j = i + 1 To UBound(a, 1)
If a(i, 0) > a(j, 0) Then '升序
t = a(i, 0): a(i, 0) = a(j, 0): a(j, 0) = t
End If
If a(i, 1) < a(j, 1) Then '降序
t = a(i, 1): a(i, 1) = a(j, 1): a(j, 1) = t
End If
Next j
Next i
End Sub

Dim i, j, k

For i = 0 To UBound(paramArr, 1) - 1
For