當前位置:編程學習大全網 - 編程軟體 - 求E語言數字全排列的算法,用純代碼將壹串數字進行大小排列

求E語言數字全排列的算法,用純代碼將壹串數字進行大小排列

534216789。

程序代碼如下:

Private Sub Degr(p() As Integer, ByVal n As Integer)

Dim i As Integer, j As Integer

Do While n > 0

OutL p

If p(1) = n Then '如果第壹位是n

i = 0

Do '從左端開始找出最長的連續遞降序列

i = i + 1

If i = n Then Exit Sub

Loop Until p(i) <> p(i + 1) + 1

j = i

Do '找出遞降序列末尾數字的下壹個數字

i = i + 1

Loop Until p(i) = p(j) - 1

Swap p(i), p(i - 1) '將它與序列末尾數字交換

For i = 1 To n - j '將遞減序列倒轉後放置在排列右端

p(i) = p(i + j)

Next

For i = 1 To j

p(n - i + 1) = n - i + 1

Next

Else '如果最高位不是n

i = 0 '從左端開始

Do '找出n所在位置

i = i + 1

Loop Until p(i) = n

Swap p(i), p(i - 1)'將n與其左邊數字交換

End If

Loop

End Sub

  • 上一篇:如何通過oc代碼獲取當前的appID
  • 下一篇:歐姆龍PLC編程軟件安裝不了
  • copyright 2024編程學習大全網