VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Bubble Sort

by Roman Blachman (2 Submissions)
Category: String Manipulation
Compatability: Visual Basic 3.0
Difficulty: Intermediate
Date Added: Wed 3rd February 2021
Rating: (8 Votes)

This code should explain the bubble sort !
Bubble sort is a sort algorithm that sortes string in very fast way. There are many sort algorithms but this is the best !

Inputs
This code needs only one parameter: The input array (will be used for output also)
Assumes
If you have problems running it try this code. (I assume that you created a list box that his name is: lstItems) Place this code where you want (for example: command button) Dim inArray() As String ' Input array ReDim inArray(lstItems.ListCount - 1) ' Redim the array to the size of the list count items For ic = 0 To lstItems.ListCount - 1 inArray(ic) = lstItems.List(ic) ' Put all the values from the list box to the array Next cBubbleSort inArray ' Sort the array lstItems.Clear ' Clear the list For ic = 0 To UBound(inArray) lstItems.AddItem inArray(ic) ' Put the sorted items from the array Next
Code Returns
This sub won't return anything. It will change the input array
API Declarations
no apis.

Rate Bubble Sort

Public Sub cBubbleSort(inputArray As Variant)
Dim lDown As Long, lUp As Long
For lDown = UBound(inputArray) To LBound(inputArray) Step -1
For lUp = LBound(inputArray) + 1 To lDown
If inputArray(lUp - 1) > inputArray(lDown) Then SwapValues inputArray(lUp - 1), inputArray(lDown)
Next lUp
Next lDown
End Sub
Public Sub SwapValues(firstValue As Variant, secondValue As Variant)
Dim tmpValue As Variant
tmpValue = firstValue
firstValue = secondValue
secondValue = tmpValue
End Sub
This is the same code but with explainations:
Public Sub cBubbleSort(inputArray As Variant)
Dim lDown As Long, lUp As Long ' Two variables that will be used in the fors
For lDown = UBound(inputArray) To LBound(inputArray) Step -1 ' One variable will go from the upper bound of the array
For lUp = LBound(inputArray) + 1 To lDown ' and the second one will go from the lowest bound to the top
If inputArray(lUp - 1) > inputArray(lDown) Then SwapValues inputArray(lUp - 1), inputArray(lDown) ' This line check if the value from the up-to-down for is higher than the value from the down-to-up for, if so the sub call a swap sub that switches the values places
Next lUp ' Continue to the next value from down-to-up
Next lDown ' Continue to the next value from up-to-down
End Sub
Public Sub SwapValues(firstValue As Variant, secondValue As Variant) ' This sub switches the values
Dim tmpValue As Variant ' Temp variable to store the first value
tmpValue = firstValue ' put the first value into a temp variable
firstValue = secondValue ' put the second value into the first
secondValue = tmpValue ' and then put the first value, that stored in a temp variable, into the second
End Sub
If this code wasn't helpful and you still want to know how the bubble sort algorithm works so go to this links:
I hope this code was helpful if so please vote for me.
1) http://technology.niagarac.on.ca/courses/comp435/labs/bubblesort.html
2) http://www.cis.ufl.edu/~ddd/cis3020/summer-97/lectures/lec16/tsld042.htm
3) http://www.enm.maine.edu/Courses/C/SourceCode/BUBBLE.html
4) http://www-ee.eng.hawaii.edu/Courses/EE150/Book/chap10/subsection2.1.2.2.html
5)http://www.scism.sbu.ac.uk/law/Section5/chap2/s5c2p13.html

Download this snippet    Add to My Saved Code

Bubble Sort Comments

No comments have been posted about Bubble Sort. Why not be the first to post a comment about Bubble Sort.

Post your comment

Subject:
Message:
0/1000 characters