การเรียงลำดับ ข้อมูลใน Array VB6
สอบถามครับ จะเรียงลำดับ ข้อมูลใน Array ด้วย VB6ใช้คำสั่งไหนครับแก้ไขครั้งสุดท้ายโดย Soutk เมื่อ 2018-10-17 15:43
Dim a(4) As String
Dim i As Integer
Dim t() As String
a(0) = 100
a(1) = 300
a(2) = 800
a(3) = 60
For i = 0 To UBound(a)
ReDim Preserve t(i)
t(i) = Application.Large(a, i + 1)
Next i
Text.Text = Join(t, ",")
ลองด้วย code นี้แล้ว ERROR object required ที่ คำสั่ง application.Large
มีวิธีการจัดเรียงมีหลายแบบครับ โค้ดตัวอย่างนี้จะแบบง่ายๆหรือ Simple Linear Sort ... หลักการง่ายๆ คือใช้ตัวแปร Array ของตัวมันเองนั่นแหละ เปรียบเทียบค่าตัวมันเอง วิธีการนี้เข้าใจง่าย แต่จะใช้เวลาในการประมวลผลค่อนข้างเยอะ ... Dim i As Integer, j As Integer
'// ตัวแปรชั่วคราวในการสลับค่า
Dim temp As Integer
Dim a(4) As Integer
'a(0) = 100
'a(1) = 300
'a(2) = 800
'a(3) = 600
Randomize
'// สุ่มตัวเลขทดสอบระหว่าง 1 - 9 จำนวน 4 ค่า
For i = 0 To 3
a(i) = Int((Rnd * 9) + 1)
Debug.Print a(i)
Next
For i = 0 To UBound(a) - 1
For j = i + 1 To 3
'// หากค่าเดิมมีค่ามากกว่า เช่น 9 > 4 ให้ทำการ Swap หรือสลับค่า
If Val(a(i)) > Val(a(j)) Then
temp = a(i)
a(i) = a(j)
a(j) = temp
End If
Next
Next
'// แสดงคำตอบ
For i = 0 To UBound(a) - 1
Debug.Print a(i)
Next
ขอบคุณครับ:):)
จะลองนำไปใช้ครับ
เวลาใช้งาน ข้อมูลในการจัดลำดับจะมาที่ละ 24 ข้อมูลครับเลยอยากหาวิธีทีประมวลผลเร็วๆ ครับ
วิธีการ Bubble Sort ... Function BubbleSort(Arr As Variant) As Variant
Dim Num As Integer, blnFlag As Boolean, i As Integer, Change As Integer
Num = UBound(Arr) - LBound(Arr)
Do
blnFlag = False
For i = 1 To Num
If (Val(Arr(i - 1)) > Val(Arr(i))) Then
Change = Arr(i - 1)
Arr(i - 1) = Arr(i)
Arr(i) = Change
blnFlag = True
End If
Next
Loop While blnFlag
End Function
ตัวอย่างการเรียกใช้ ...
'// สุ่มตัวเลขระหว่าง 1 - 99 จำนวน 10 ค่า
Dim a(10) As Integer
Randomize
For i = 0 To 9
a(i) = Int((Rnd * 99) + 1)
Debug.Print a(i)
Next
'//
Call BubbleSort(a)
'// แสดงคำตอบ
Debug.Print "====== S O R T ======"
For i = 1 To UBound(a)
Debug.Print a(i)
Next
ผลลัพธ์ ...
6
54
41
22
27
68
90
28
75
45
====== S O R T ======
6
22
27
28
41
45
54
68
75
90
thongkorn ตอบกลับเมื่อ 2018-10-17 16:55
วิธีการ Bubble Sort ...
ตัวอย่างการเรียกใช้ ...
ขอบคุณอย่างแรงครับ อาจารย์:'(:'(
หน้า:
[1]