Быстрая Сортировка
Быстрая Сортировка.
<br/><br/>Часть 1:
<br/>Sub open_file()
<br/> Dim a(500) As Integer
<br/> Dim b(500) As Integer
<br/> Dim e(500) As Integer
<br/> Dim n As Long
<br/> Dim sr As Long
<br/> Dim swich As Long
<br/> Dim z As Integer
<br/> Dim begintime As Date
<br/> Dim endtime As Date
<br/><br/> n = InputBox("n=")
<br/>
<br/> Max = 100
<br/> Min = -100
<br/> Randomize
<br/>
<br/> begintime = Timer
<br/>
<br/> swich = 0
<br/> sr = 0
<br/> minim = 1
<br/> maxim = n
<br/>
<br/> z = Int((maxim) * Rnd() + minim)
<br/> t = a(z)
<br/><br/>line1: c1 = 1
<br/> d1 = 1
<br/> i = 1
<br/><br/>Do While i <= n
<br/> If a(i) <= t Then b(c1) = a(i): c1 = c1 + 1: sr = sr + 1
<br/> If a(i) > t Then e(d1) = a(i): d1 = d1 + 1: sr = sr + 1
<br/> i = i + 1
<br/>Loop
<br/><br/>m1 = c1 - 1
<br/>m2 = d1 - 1
<br/>swich = swich + m1...
Быстрая Сортировка.
Часть 1:
Sub open_file()
Dim a(500) As Integer
Dim b(500) As Integer
Dim e(500) As Integer
Dim n As Long
Dim sr As Long
Dim swich As Long
Dim z As Integer
Dim begintime As Date
Dim endtime As Date
n = InputBox("n=")
Max = 100
Min = -100
Randomize
begintime = Timer
swich = 0
sr = 0
minim = 1
maxim = n
z = Int((maxim) * Rnd() + minim)
t = a(z)
line1: c1 = 1
d1 = 1
i = 1
Do While i <= n
If a(i) <= t Then b(c1) = a(i): c1 = c1 + 1: sr = sr + 1
If a(i) > t Then e(d1) = a(i): d1 = d1 + 1: sr = sr + 1
i = i + 1
Loop
m1 = c1 - 1
m2 = d1 - 1
swich = swich + m1 + m2
j = 1
Do While j <= m1
a(j) = b(j)
j = j + 1
Loop
k = 1
Do While k <= m2
a(m1 + k) = e(k)
k = k + 1
Loop
l = 1
Do
If a(l) > a(l + 1) Then sr = sr + 1: t = a(l + 1): GoTo line1
l = l + 1
sr = sr + 1
Loop While l <= n - 1
endtime = Timer
alltime = endtime - begintime
End Sub
часть 2:
Private Sub CommandButton1_Click()
Dim a(200) As Integer
Dim b(200) As Integer
Dim e(200) As Integer
Dim n As Long
Dim sr As Long
Dim swich As Long
Dim z As Integer
Dim begintime As Date
Dim endtime As Date
Dim sfile
Dim rt As String
rt = "Быстрая сортировка"
n = InputBox("n=")
Max = 100
Min = -100
Randomize
For f = 1 To n
a(f) = Int((Max - Min) * Rnd() + Min)
Worksheets("Лист2").Cells(f, 3).Value = a(f)
Worksheets("Лист2").Cells(f, 2).Value = f
Next f
sfile = InputBox("Введите имя файла и путь для сохранения в нем результатов сортировки")
begintime = Timer
swich = 0
sr = 0
minim = 1
maxim = n
Randomize
z = Int((maxim) * Rnd() + minim)
t = a(z)
line1: c1 = 1
d1 = 1
i = 1
k = 1
l = 1
Do While i <= n
If a(i) <= t Then b(c1) = a(i): c1 = c1 + 1: sr = sr + 1
If a(i) > t Then e(d1) = a(i): d1 = d1 + 1: sr = sr + 1
i = i + 1
Loop
m1 = c1 - 1
m2 = d1 - 1
swich = swich + m1 + m2
j = 1
Do While j <= m1
a(j) = b(j)
j = j + 1
Loop
Do While k <= m2
a(m1 + k) = e(k)
k = k + 1
Loop
For m = 1 To n
Worksheets("Лист2").Cells(m, 6).Value = a(m)
Worksheets("Лист2").Cells(m, 5).Value = m
Next m
Do
If a(l) > a(l + 1) Then sr = sr + 1: t = a(l + 1): GoTo line1
l = l + 1
sr = sr + 1
Loop While l <= n - 1
endtime = Timer
Open sfile For Output As #1
Write #1, rt
For m = 1 To n
Write #1, a(m)
Worksheets("Лист2").Cells(m, 6).Value = a(m)
Worksheets("Лист2").Cells(m, 5).Value = m
Next m
Close #1
Worksheets("Лист2").Cells(3,
.Value = endtime - begintime
Worksheets("Лист2").Cells(4,
.Value = sr
Worksheets("Лист2").Cells(5,
.Value = swich
End Sub
Private Sub CommandButton2_Click()
For i = 1 To 500
Worksheets("Лист2").Cells(i, 2).Clear
Worksheets("Лист2").Cells(i, 3).Clear
Worksheets("Лист2").Cells(i, 6).Clear
Worksheets("Лист2").Cells(i, 5).Clear
Worksheets("Лист2").Cells(3,
.Clear
Worksheets("Лист2").Cells(4,
.Clear
Worksheets("Лист2").Cells(5,
.Clear
Next
End Sub
Часть 1:
Sub open_file()
Dim a(500) As Integer
Dim b(500) As Integer
Dim e(500) As Integer
Dim n As Long
Dim sr As Long
Dim swich As Long
Dim z As Integer
Dim begintime As Date
Dim endtime As Date
n = InputBox("n=")
Max = 100
Min = -100
Randomize
begintime = Timer
swich = 0
sr = 0
minim = 1
maxim = n
z = Int((maxim) * Rnd() + minim)
t = a(z)
line1: c1 = 1
d1 = 1
i = 1
Do While i <= n
If a(i) <= t Then b(c1) = a(i): c1 = c1 + 1: sr = sr + 1
If a(i) > t Then e(d1) = a(i): d1 = d1 + 1: sr = sr + 1
i = i + 1
Loop
m1 = c1 - 1
m2 = d1 - 1
swich = swich + m1 + m2
j = 1
Do While j <= m1
a(j) = b(j)
j = j + 1
Loop
k = 1
Do While k <= m2
a(m1 + k) = e(k)
k = k + 1
Loop
l = 1
Do
If a(l) > a(l + 1) Then sr = sr + 1: t = a(l + 1): GoTo line1
l = l + 1
sr = sr + 1
Loop While l <= n - 1
endtime = Timer
alltime = endtime - begintime
End Sub
часть 2:
Private Sub CommandButton1_Click()
Dim a(200) As Integer
Dim b(200) As Integer
Dim e(200) As Integer
Dim n As Long
Dim sr As Long
Dim swich As Long
Dim z As Integer
Dim begintime As Date
Dim endtime As Date
Dim sfile
Dim rt As String
rt = "Быстрая сортировка"
n = InputBox("n=")
Max = 100
Min = -100
Randomize
For f = 1 To n
a(f) = Int((Max - Min) * Rnd() + Min)
Worksheets("Лист2").Cells(f, 3).Value = a(f)
Worksheets("Лист2").Cells(f, 2).Value = f
Next f
sfile = InputBox("Введите имя файла и путь для сохранения в нем результатов сортировки")
begintime = Timer
swich = 0
sr = 0
minim = 1
maxim = n
Randomize
z = Int((maxim) * Rnd() + minim)
t = a(z)
line1: c1 = 1
d1 = 1
i = 1
k = 1
l = 1
Do While i <= n
If a(i) <= t Then b(c1) = a(i): c1 = c1 + 1: sr = sr + 1
If a(i) > t Then e(d1) = a(i): d1 = d1 + 1: sr = sr + 1
i = i + 1
Loop
m1 = c1 - 1
m2 = d1 - 1
swich = swich + m1 + m2
j = 1
Do While j <= m1
a(j) = b(j)
j = j + 1
Loop
Do While k <= m2
a(m1 + k) = e(k)
k = k + 1
Loop
For m = 1 To n
Worksheets("Лист2").Cells(m, 6).Value = a(m)
Worksheets("Лист2").Cells(m, 5).Value = m
Next m
Do
If a(l) > a(l + 1) Then sr = sr + 1: t = a(l + 1): GoTo line1
l = l + 1
sr = sr + 1
Loop While l <= n - 1
endtime = Timer
Open sfile For Output As #1
Write #1, rt
For m = 1 To n
Write #1, a(m)
Worksheets("Лист2").Cells(m, 6).Value = a(m)
Worksheets("Лист2").Cells(m, 5).Value = m
Next m
Close #1
Worksheets("Лист2").Cells(3,
Worksheets("Лист2").Cells(4,
Worksheets("Лист2").Cells(5,
End Sub
Private Sub CommandButton2_Click()
For i = 1 To 500
Worksheets("Лист2").Cells(i, 2).Clear
Worksheets("Лист2").Cells(i, 3).Clear
Worksheets("Лист2").Cells(i, 6).Clear
Worksheets("Лист2").Cells(i, 5).Clear
Worksheets("Лист2").Cells(3,
Worksheets("Лист2").Cells(4,
Worksheets("Лист2").Cells(5,
Next
End Sub
Лента материалов
Правила размещения комментариев
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.


Сейчас обсуждают