亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求助,關于VB冒泡法之for循環原理?麻煩大佬看看

求助,關于VB冒泡法之for循環原理?麻煩大佬看看

慕神8447489 2021-06-03 06:07:16
Private Sub Form_Click()Dim a(1 To 5) As LongDim i, j, z As Long For i = 1 To 5 a(i) = InputBox("請輸入") Next i For i = 5 To 1 Step -1 '解釋這個二重循環? For j = 1 To i - 1 If a(j) > a(j + 1) Then t = a(j + 1) a(j + 1) = a(j) a(j) = t End If Next j Next i For i = 1 To 5 Print a(i); " "; Next iEnd Sub1、二重循環中的外層為什么要終值到初值然后要步長-1這樣做的目的?2、內層循環中為什么要初值到外層-1是什么意思。目的又是什么?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

先弄清冒泡法求解的方式。每次循環后冒出一個最大值,假設第一次循環時i
=
5,程序循環比較5次,找出最大值,第一次循環后這個最大值存入a(5),此時i
=
5
-
1,而內層循環中
j
表示的是數組
a(j)的存儲地址,每次循環比較的是a(j)和a(j+1)里面的值,每比較一次
j
指向的地址就+1。a()數組一共只能存儲5個數據,所以
1<=
j
<=
5;
另外再補充一下,
for
j
=
1
to
i
-
1
;沒什么
-1
這個意思,也許這個才是問題的根本,這句的意思是
這個
for
語句里面的程序循環執行
i
-
1
次,這個是內部循環,每完成一次內部循環
i
的值比上次少
1
,所以每次內循環就會少一次,冒泡法的算法思想就是每次冒一個數出來.



查看完整回答
反對 回復 2021-06-07
  • 1 回答
  • 0 關注
  • 291 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號