简单的VB题,有急用,请帮偶解一下,给100分
原题是:
本程序段的功能是重新排列数组a中元素的值,使相等元素值存放在一起,并且保持它们在数组中首次出现的相对次序.
例如:原数组:4,3,2,3,4,4,5,5,6,4,3,5,6
重排后:4,4,4,4,3,3,3,2,5,5,5,6,6
书上给出一种解法如下:
原理是:先删去重复元素,再根据各元素在数组中出现的次数排列.
Dim n As Integer
Dim i As Integer, j As Integer, k As Integer, t As Integer, m As Integer
Dim a() As Integer, b() As Integer
n = 10
ReDim a(n), b(n)
a(1) = 1: a(2) = 2: a(3) = 4: a(4) = 3: a(5) = 3
a(6) = 3: a(7) = 2: a(8) = 1: a(9) = 4: a(10) = 5
m = 1
t = n
Do While m <= t
k = 1: i = m + 1
Do While i <= t
If a(i) = a(m) Then
k = k + 1
For j = i To t - 1
a(j) = a(j + 1)
Next j
t = t - 1
Else
i = i + 1
End If
Loop
b(m) = k: m = m + 1
Loop
t = n
For i = m - 1 To 1 Step -1
For j = 1 To b(i)
a(t) = a(i)
t = t - 1
Next j
Next i
For j = 1 To n
Print a(j)
Next j
要求用另外一种解法解题,拜托各位大虾帮忙哦!