日期:2014-05-17 浏览次数:21027 次
<%
aa = "modelA|brandA|seriesA,modelB|brandA|seriesA,modelC|brandB|seriesB,modelD|brandA|seriesB"
Set rs = CreateObject("ADODB.RecordSet")
rs.CursorLocation = 3
rs.Fields.Append "brand", 200, 50
rs.Fields.Append "series", 200, 50
rs.Fields.Append "model", 200, 50
rs.Open
aRd = Split(aa, ",")
For i = 0 To UBound(aRd)
If aRd(i) <> "" Then
rs.AddNew
aItem = Split(aRd(i), "|")
If UBound(aItem) > 1 Then
For j = 0 To UBound(aItem)
rs("brand") = aItem(1)
rs("series") = aItem(2)
rs("model") = aItem(0)
Next
End If
End If
Next
rs.Sort = "brand, series, model"
rs.MoveFirst
sBrand = ""
sSeries = ""
aa = ""
Do While Not rs.EOF
b1 = False
b2 = False
If sBrand <> rs("brand").Value Then
b1 = True
sBrand = rs("brand").Value
End If
If sSeries <> rs("series").Value Then
b2 = True
sSeries = rs("series").Value
End If
If b1 Or b2 Then
If aa <> "" Then aa = aa & ";"
aa = aa & sBrand & "|" & sSeries & "|" & rs("model").Value
Else
aa = aa & "," & rs("model").Value
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Response.Write aa
%>
------解决方案--------------------
如body,html,td,table,th,div,xml
排序后结果是: body,div,html,table,td,th,xml
Dim arr(7)
Dim i, h, t, w, x As Integer
arr(1) = body
arr(2) = html
arr(3) = td
arr(4) = table
arr(5) = th
arr(6) = div
arr(7) = xml
w = Len(arr(1))
for x = 2 To 7
If w>len(arr(x)) then
w=len(arr(x))
else
endif
next
z = 1
For i = 1 To 7
For h = i + 1 To 7
If Asc(mid(arr(i),z,1)) > Asc(mid(arr(h),z,1)) Then
t = arr(i)
arr(i) = arr(h)
arr(h) = t
End If
Next
Next
for z = 1 to w
For i = 1 To 7
For h = i + 1 To 7
If Asc(mid(arr(i),z,1)) = Asc(mid(arr(h),z,1)) Then
z = z+1
If Asc(mid(arr(i),z,1)) > Asc(mid(arr(h),z,1))
t = arr(i)
arr(i) = arr(h)
arr(h) = t
z = z -1
End If
Next
Next
Next
for
For i = 1 To 7
reponse.write(arr(i)&",")
Next