📄 d7r4.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 6345
ClientLeft = 1860
ClientTop = 750
ClientWidth = 7170
LinkTopic = "Form1"
ScaleHeight = 6345
ScaleWidth = 7170
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Left = 5280
TabIndex = 0
Top = 5640
Width = 1215
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
'PROGRAM D7R4
'for routine SORT
Dim A(100)
Open "D:\VB常用数值算法集\DATA\TARRAY.DAT" For Input As #2
For I = 1 To 10
Line Input #2, DUM$
For J = 1 To 10
A(10 * (I - 1) + J) = Val(Mid(DUM$, 6 * J - 5, 6))
Next J
Next I
Close (2)
'Print Original array
Print "Original array:"
For I = 1 To 10
For J = 1 To 10
Print Tab(7 * (J - 1) + 2); Format$(A(10 * (I - 1) + J), "###.#0");
Next J
Print
Next I
'Sort array
Call SORT(100, A())
'Print sorted array
Print "Sorted array:"
For I = 1 To 10
For J = 1 To 10
Print Tab(7 * (J - 1) + 2); Format$(A(10 * (I - 1) + J), "###.#0"); " ";
Next J
Print
Next I
End Sub
Sub SORT(N, RA())
L = Int(N / 2) + 1
IR = N
Do
If L > 1 Then
L = L - 1
RRA = RA(L)
Else
RRA = RA(IR)
RA(IR) = RA(1)
IR = IR - 1
If IR = 1 Then
RA(1) = RRA
Exit Sub
End If
End If
I = L
J = L + L
While J <= IR
If J < IR Then
If RA(J) < RA(J + 1) Then J = J + 1
End If
If RRA < RA(J) Then
RA(I) = RA(J)
I = J
J = J + J
Else
J = IR + 1
End If
Wend
RA(I) = RRA
Loop
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -