|
龍海兒
關(guān)注《電氣外傳》公眾號(hào),知乎,CSDN等同號(hào)
級(jí)別: 論壇先鋒
|
圖片:
圖片:
圖片:
1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal01111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0 龍海兒11(同微博) 同《電氣外傳》微信公眾號(hào) 我們?cè)谧鲆恍⿺?shù)據(jù)管理的時(shí)候,往往要取最大值、最小值、求平均值、求和等。然而要得到以上結(jié)果是不是需要先對(duì)數(shù)據(jù)進(jìn)行排序呢?那冒泡排序法自然是首選。讓我們一起來(lái)做一下吧。 創(chuàng)造一個(gè)情境,第一步肯定是先建立一個(gè)數(shù)組。我這里用的11個(gè)int類型組成的數(shù)組(從0-10是11個(gè))。在里面隨機(jī)填上了0-10的亂序數(shù)據(jù)。 然后如圖開(kāi)始編寫雙層for循環(huán)程序。外層循環(huán)控制排序的次數(shù),11個(gè)數(shù)據(jù)只需要循環(huán)10次即可。因?yàn)樽詈笠粋(gè)肯定已經(jīng)滿足了要求。內(nèi)層循環(huán)需要處理每次的比較,遍歷數(shù)組。實(shí)現(xiàn)數(shù)據(jù)移位和交換。切遍歷次數(shù)依次在減少。 最后循環(huán)結(jié)束就可以得到組從小到大排序好的數(shù)據(jù)了。那么最小最大值直接從第一個(gè)和最后一個(gè)傳送出去即可。求平均值和求和自然水到渠成,當(dāng)然不排序也可以直接先去運(yùn)算。 “冒泡”的含義其實(shí)就相當(dāng)于把最大的數(shù)據(jù)從最后一個(gè)位置,通過(guò)交換操作,一步一步“浮現(xiàn)”到第一個(gè)位置的。實(shí)現(xiàn)方法比較簡(jiǎn)單,也易于理解。在一些小場(chǎng)景小規(guī)模數(shù)據(jù)處理中還是可以的,希望對(duì)大家有所幫助。 最后就寫到這里,還是歡迎各位看官來(lái)深入討論和批評(píng)指正! |
|
|---|---|---|
|
|
flyfeky
bilibili 工控小工匠孔
級(jí)別: 論壇先鋒
|
//數(shù)組排序 #k := 99; // 輸入數(shù)組[0..99] WHILE #k >= 0 DO //外循環(huán) #j := 0; #i := 0; WHILE #i <= #k DO // 內(nèi)循環(huán) IF #arr[#j] < #arr[#i] THEN #j := #i; // 記下最大值下標(biāo) END_IF; IF #i = #k THEN // 循環(huán)完成交換當(dāng)前值和最大值 #buff := #arr[#i]; #arr[#i] := #arr[#j]; #arr[#j] := #buff; END_IF; #i := #i + 1; END_WHILE; #k := #k - 1; END_WHILE; 我寫了一個(gè),也調(diào)試好了,歡迎參考 ,博圖v16 , k ,j,buff i都是int類型 ,arr是 [0..99] of int 輸入輸出類型 |
|
|---|---|---|
|