VB 快速排序法 源代码

快速排序原理已经知道,只是递归计算的细节不懂,求VB源代码

是这样的:
假设有 2 3 5 1 0 8 7 -6 9
dim a(9) as integer //全局变量

function position(byval i as integer,byval j as integer)as integer
dim temp as integer
flag=a(0);
while i<j
while i<j and flag<a(j)
j--
end while
temp=flag
flag=a(j)
a(j)=temp
while i<j and a(i)<a(j)
i++
end while
temp=a(i)
a(i)=a(j)
a(j)=temp
end while
return i
end function//这是一个分段函数 将数列 分为两段//

sub quick_sort(byval i as integer,byval j as integer)
dim t as integer
t=position(i,j)
quick_sort(i,t-1)
quick_sort(t+1,j)
end sub

接下来在文本框或列表框中
输出a(9)就可以了;
可能有点c 的风格
你原样照应即可啦!
温馨提示:内容为网友见解,仅供参考
无其他回答

VB 快速排序法 源代码
假设有 2 3 5 1 0 8 7 -6 9 dim a(9) as integer \/\/全局变量 function position(byval i as integer,byval j as integer)as integer dim temp as integer flag=a(0);while i<j while i<j and flag<a(j)j-- end while temp=flag flag=a(j)a(j)=temp while i<j and ...

vb快速排序源代码
Private Sub Command1_Click()Dim a(10) As Integer For i = LBound(a) To UBound(a)a(i) = Int(Rnd * 100)Next i qsort a, LBound(a), UBound(a)For i = LBound(a) To UBound(a)Print a(i);Next i Print End Sub Sub swap(a As Integer, b As Integer)t = a: a =...

vb快速排序源代码
回答:排序在网上搜索去。 会用Linq 不? Linq 有好的排序。

vb快速排序之二分法代码?
Public Function BinSearch(ByRef strElement() As String, ByVal strKey As String) As Long Dim lngLow As Long Dim lngHigh As Long Dim lngMiddle As Long lngLow = 0 lngHigh = UBound(strElement)While (lngLow <= lngHigh)lngMiddle = (lngLow + lngHigh) \/ 2 If strElement(lng...

VB快速排序算法 能详细写的不要省略
Num(i) = InputBox("请输入一个数字:","排序数字输入",100,1000,1000) '通过InputBox输入10个数字,并且加入到数组中 Next for i = 0 To 8 for j = i + 1 to 9 if Num(j) < Num(i) then '如果Num(j) < Num(i),则Num(j) 和Num(i)互换 TmpNum = Num(j)Num(j) ...

vb快速排序算法 不明白原理 求教 悬赏100
因为倒数第一个元素和倒数第二个元素已经是最大值的元素了。'依此类推,直到i循环aa元素个数次之后,j循环就从aa元素的倒数第一个元素排列到了正数第一个元素 这就是著名的冒泡排序法的递增算法(从小到大排序)。反之递减算法就是把aa(j)>aa(j+1)换成aa(j)<aa(j+1)

VB快速排序问题
Private Sub Form_Click()Dim a(1 To 8) As Long, b(1 To 8) As Long a(1) = 63 a(2) = 36 a(3) = 12 a(4) = 69 a(5) = 3 a(6) = 48 a(7) = 66 a(8) = 100 For i = LBound(b) To UBound(b)b(i) = i Next qsort a, b For i = LBound(a) To ...

vb 如何判断数组是否相似
先用快速排序法将其中一个排序,再用折半查找法在排序后的数组中依次查找另一个数组中的各个元素,应该只能优化到这样了。1维数组快速排序算法如下:Sub QuickSort1D(asArray() As Integer, Optional bSortAscending As Boolean = True, Optional iLow1, Optional iHigh1)'变量定义 Dim iLow2 As ...

求教一个VB排序问题:
a(i) = a(j)a(j) = tmp End If Next Next Debug.Print Join(a, vbCrLf)End Sub Function GetValue(ByVal s As String) As Double GetValue = Val(Split(s, Chr(32))(1))End Function 如果你排序的数量巨大,这个冒泡算法效率太低了,可以考虑用快排或借用recordset对象的sort方法......

...通过移动可以使其按时针排序。这种游戏的vb代码应怎么写
3*3的方格里有1-8八个数字和一个空格,通过移动可以使其按时针排序。这种游戏的vb代码应怎么写  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 ...

相似回答