Отсортировать массив с помощью Пирамидального метода сортировки - VB

Узнай цену своей работы

Формулировка задачи:

нужно отсортировать массив с помощью Пирамидального метода сортировки))) результат должен выглядеть примерно так)) помогите

Решение задачи: «Отсортировать массив с помощью Пирамидального метода сортировки»

textual
Листинг программы
Private Sub Command1_Click()
Dim i%, n%, mm%
n = 21
ReDim a%(n)
'Text1.MultiLine=true:'Text1.ScrollBars = 3
Text1.Text = ""
 
For i = 1 To n
a(i) = Int(Rnd * 90) + 10
Text1.Text = Text1.Text & a(i) & " "
Next i
Print
Text1.Text = Text1.Text & vbCrLf & vbCrLf
'........................................
mm = -1 'mm=1
Call pr(a(), n, mm)
'........................................
Dim d As String * 10
Dim b As String * 6
b = " "
i = 0: k = 1
Do While k <= n - i
   For j = 1 To (n / 2 - i)
      Text1.Text = Text1.Text & b
   Next j
   For j = k To k + i
       d = CStr(a(j))
       Text1.Text = Text1.Text & d
   Next j
 i = i + 1: k = j
Text1.Text = Text1.Text & vbCrLf
Loop
End Sub
 
Sub pr(a%(), n%, mm%)
For j = n To 1 Step -1
 
  For i = j \ 2 To 1 Step -1
    If 2 * i <= j Then
      If a(i) * mm < a(2 * i) * mm Then
        tmp = a(i): a(i) = a(2 * i): a(2 * i) = tmp
      End If
    End If
 
    If 2 * i + 1 <= j Then
      If a(i) * mm < a(2 * i + 1) * mm Then
         tmp = a(i): a(i) = a(2 * i + 1): a(2 * i + 1) = tmp
      End If
    End If
  Next i
  
  tmp = a(1)
  For i = 1 To n - 1
    a(i) = a(i + 1)
  Next i
  a(n) = tmp
 
Next j
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы