2015年12月14日 星期一

練習 2- 由小到大 (氣泡排序)

問題敘述 
給你一些數,
請幫忙排這些數由小到大。


輸入說明 
輸入共有兩列
第一列為一個正整數 N。(N <= 1000000)
第二列共有 N 個正整數,相鄰正整數之間以一個空白分隔,數值不超過 1000000000。


輸出說明 
請輸出第二列輸入中的 N 個正整數這些數由小到大排列


範例輸入 
5
6 3 4 17 9


範例輸出 
3 4 6 9 17

( VB6 解題範例 ) Ex-2.rar :   https://dl.dropboxusercontent.com/u/19927831/KH-code/AlgoVB/Ex-2.rar
----------------------------------------------------------------------------------------------------------------------
Private Sub Form_Activate()

Dim i, j As Integer
Dim B() As String
Dim bn(100) As Integer
Dim ipstr1, ipstr2, opstr As String
Dim s, x  As Variant

ipstr1 = "5"
ipstr2 = "6 3 4 17 9"
s = CDec(ipstr1)
B = Split(ipstr2, " ")


For i = 0 To s - 1
  bn(i) = CDec(B(i))
  Print bn(i);
Next i
Print

For i = 0 To s - 2
  For j = i + 1 To s - 1
    If bn(i) > bn(j) Then
      x = bn(i)
      bn(i) = bn(j)
      bn(j) = x
    End If
  Next j
Next i

For i = 0 To s - 1
  Print bn(i);
Next i

Print

End Sub

沒有留言:

張貼留言