Пример на Паскале:
Код | program SortV;
const MAX = 5;
type TArray = array [1..MAX] of integer;
procedure Sort(LArray : TArray; var NArray : TArray); var i, j : integer; begin for i := 1 to MAX do begin j := i; while ((j > 1) and (NArray[j - 1] > LArray[i])) do begin NArray[j] := NArray[j - 1]; j:=j - 1; end; NArray[j]:=LArray[i]; end; end;
var iArray1, iArray2 : TArray; i : integer; begin for i := 1 to MAX do begin Write('Enter next element: '); readln(iArray1[i]); end; Sort(iArray1, iArray2); writeln('After sort: '); for i := 1 to MAX do writeln(iArray2[i]); readln; End.
|
Пример на Visual Basic:
Код |
Option Explicit Option Base 1 Const Max = 5 Dim A1(1 To Max) As Long, A2(1 To Max) As Long
Sub Sort(LArray() As Long, ByRef NArray() As Long) Dim I, J As Long For I = 1 To Max J = I If J > 1 Then Do While (NArray(J - 1) > LArray(I)) NArray(J) = NArray(J - 1) J = J - 1 Loop End If NArray(J) = LArray(I) Next I End Sub
'Пример использования - по нажатию кнопки Private Sub Command1_Click() Dim I As Long For I = 1 To Max A1(I) = CLng(InputBox("Введите элемент:")) Next I Call Sort(A1, A2) 'Массив отсортирован. Можно вывести данные, например, в ListBox For I = 1 To Max List1.AddItem CStr(A2(I)) Next I End Sub
|
Авторы: http://vingrad.ru/@Rrader - пример на VB. http://vingrad.ru/@THandle - пример на Паскале
|