日期:2014-05-17 浏览次数:20949 次
<% 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