"Шейкер" - сортировка (перевод с псевдокода) - VB
Формулировка задачи:
напишите пожалуйста программу методом шейкера. можно только КОД программы. метод шейкера выглядит так. нужно просто написать на языке Visual Basic
Решение задачи: «"Шейкер" - сортировка (перевод с псевдокода)»
textual
Листинг программы
'program shakesort
Sub shakesort()
'implicit none
'real(4) rand
Dim rand(4) As Double
'integer(4),allocatable :: A(:)
Dim a() As Integer
'integer N,j,t
Dim N As Integer, j As Integer, t As Integer
'integer l,r
Dim l As Integer, r As Integer
'
'write(*,*)'Enter N'
'read(*,*) N
N = InputBox("N=")
'allocate (A(N))
ReDim a(1 To N)
'do j=1,N
For j = 1 To N
'A(j) = N - j
a(j) =rnd*n 'N - j
'write(*,'(i4)') A(j)
Debug.Print a(j),
'enddo
Next j
'write(*,'(8i4)') A
Debug.Print
'write(*,'(3a)')
'
'
'l = 1
l = 1
'r = Size(A) - 1
r = UBound(a) - 1
'Do While (l < r)
Do While l < r
'do j=l,r,1
For j = l To r
If (a(j) > a(j + 1)) Then
t = a(j)
a(j) = a(j + 1)
a(j + 1) = t
End If
'end do
Next j
'
'do j=r,l+1,-1
For j = r To l + 1 Step -1
If (a(j) < a(j - 1)) Then
t = a(j)
a(j) = a(j - 1)
a(j - 1) = t
End If
'enddo
Next j
l = l + 1
r = r - 1
'write(*,'(8i4)') A
Debug.Print
'
'end do
Loop
'
'write(*,'(8i4)') A
'deallocate (A)
'
'end program
End Sub