【发布时间】:2017-03-13 10:06:21
【问题描述】:
我有一个这样的 txt 数组:
- “唯一文本|05||001|”
- “唯一文本|04||001|”
- “唯一文本|05||002|”
- “唯一文本|04||002|”
- "唯一文本|05||003|"
- "唯一文本|08||003|"
- “唯一文本|04||003|”
- “唯一文本|05||004|”
我已经设法用冒泡排序对这个数组进行排序,选择第二组数字“001,001,002,002,003....”但我也想用第一组数字进行排序。结果如下:
- “唯一文本|04||001|”
- “唯一文本|05||001|”
- “唯一文本|04||002|”
- “唯一文本|05||002|”
- “唯一文本|04||003|”
- "唯一文本|05||003|"
- "唯一文本|08||003|"
- “唯一文本|05||004|”
知道如何构建冒泡排序吗? 我需要在我的常规冒泡排序中使用新的 For 循环吗?
当前代码(这将仅根据第二组数字进行排序)。 104 = 最后一组数字的位置
For i = 1 To UbndCellDataExcel - 1
For j = i + 1 To UbndCellDataExcel
If Mid(CellDataExcel(i), 104, 3) > Mid(CellDataExcel(j), 104, 3) Then
strTemp = CellDataExcel(i)
CellDataExcel(i) = CellDataExcel(j)
CellDataExcel(j) = strTemp
End If
Next j
Next i
【问题讨论】:
-
一种方法是在比较中使用 2 个字段的串联
-
你能告诉我们你的代码吗?你在问什么听起来很微不足道。您只需将第一组数字的比较添加到条件中,以判断一行是否小于另一行。类似于 (RowA.Col2 > RowB.Col2 AND RowA.Col1 > RowB.Col1)
标签: arrays vba sorting bubble-sort