Go Back  Xtreme Visual Basic Talk > Legacy Visual Basic (VB 4/5/6) > General > Challenge!


Reply
 
Thread Tools Display Modes
  #1  
Old 08-10-2002, 12:59 PM
adityar
Guest
 
Posts: n/a
Default Challenge!


Here's my code for QuickSort, which sorts the array strArray in ascending order. I want to sort in descending order, can anyone plz help me with that? Although I wrote this code myself, I just cant make IT work for descending order!!

Public Sub QuickSort(lonLower, lonUpper)

Dim lonRandomPivot As Long
Dim lonTempLower As Long
Dim lonTempUpper As Long
Dim strLastItem As String
Dim strTempItem As String

Randomize Timer

If lonLower < lonUpper Then
If lonUpper - lonLower = 1 Then
If strArray(lonLower) > strArray(lonUpper) Then
strTempItem = strArray(lonUpper)
strArray(lonUpper) = strArray(lonLower)
strArray(lonLower) = strTempItem
End If
Else
lonRandomPivot = Int(Rnd * (lonUpper - lonLower + 1)) + lonLower
strTempItem = strArray(lonUpper)
strArray(lonUpper) = strArray(lonRandomPivot)
strArray(lonRandomPivot) = strTempItem
strLastItem = strArray(lonUpper)

Do
lonTempUpper = lonUpper
lonTempLower = lonLower

Do While (lonTempLower < lonTempUpper) And (strArray(lonTempLower) <= strLastItem)
lonTempLower = lonTempLower + 1
Loop

Do While (lonTempUpper > lonTempLower) And (strArray(lonTempUpper) >= strLastItem)
lonTempUpper = lonTempUpper - 1
Loop

If lonTempLower < lonTempUpper Then
strTempItem = strArray(lonTempUpper)
strArray(lonTempUpper) = strArray(lonTempLower)
strArray(lonTempLower) = strTempItem
End If
Loop While (lonTempLower < lonTempUpper)

strTempItem = strArray(lonTempLower)
strArray(lonTempLower) = strArray(lonUpper)
strArray(lonUpper) = strTempItem

If (lonTempLower - lonLower) < (lonUpper - lonTempLower) Then
QuickSort lonLower, lonTempLower - 1
QuickSort lonTempLower + 1, lonUpper
Else
QuickSort lonTempLower + 1, lonUpper
QuickSort lonLower, lonTempLower - 1
End If
End If
End If

End Sub
Reply With Quote
  #2  
Old 08-10-2002, 01:04 PM
OnErr0r's Avatar
OnErr0r OnErr0r is offline
Obsessive OPtimizer

Administrator
* Guru *
 
Join Date: Jun 2002
Location: Debug Window
Posts: 13,686
Default

__________________
Quis custodiet ipsos custodues.
Reply With Quote
  #3  
Old 08-10-2002, 11:01 PM
adityar
Guest
 
Posts: n/a
Default

hey OnError thanx man this solves everything, and his code's much neater than mine..!!!
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump

Advertisement:





Free Publications
The ASP.NET 2.0 Anthology
101 Essential Tips, Tricks & Hacks - Free 156 Page Preview. Learn the most practical features and best approaches for ASP.NET.
subscribe
Programmers Heaven C# School Book -Free 338 Page eBook
The Programmers Heaven C# School book covers the .NET framework and the C# language.
subscribe
Build Your Own ASP.NET 3.5 Web Site Using C# & VB, 3rd Edition - Free 219 Page Preview!
This comprehensive step-by-step guide will help get your database-driven ASP.NET web site up and running in no time..
subscribe
 
 
-->