Shell氣泡排序

2021-10-10 14:43:18 字數 1108 閱讀 9461

通過對資料迴圈排序,得出數值大小,進行排序。

#!

/bin/bash

# 氣泡排序

score=(10

511007060)

for(

(i=1

;i<$

;i++))

dofor

((j=

0;j<$

-$i;j++))

doif

[ $-gt $

] then temp=$ 中間變數

score[j]

=$ score[$(

($j+1)

)]=$temp

fidone

done

echo $

此處[$

(($j+1)

)]可以替換為[j+

1]

#!

/bin/bash

# 鍵盤輸入氣泡排序

k=0 陣列第一位元素

while

true 一直繼續,迴圈

do read -p "是否需要輸入數值?"

do 變數名

if[ $do

=="no"

] 只要不輸入no就一直繼續

then break 退出迴圈

firead -p "請輸入第$(($k+1))個元素" key

score[$k]

=$key

let k++

done

for(

(i=1

;i<$

;i++))

dofor

((j=

0;j<$

-$i;j++))

doif

[ $-gt $

] then temp=$

score[j]

=$ score[j+1]

=$temp

fidone

done

echo $

Shell氣泡排序

類似氣泡上湧的動作,會將資料在陣列中從小到大或者從大到小不斷地向前移動。由雙層迴圈實現,其中外部迴圈用於控制排序輪數,一般為要排序的陣列長度減1次,因為最後一次迴圈只剩下乙個陣列元素,不需要對比的,同時陣列已經完成排序了,而內部迴圈主要用於對比陣列中每個相鄰元素的大小,以確定是否交換位置,對比和交換...

shell編寫氣泡排序

從鍵盤賦值 bin bash 氣泡排序 number 66 3215100 701608 for i 1 i i dofor j 0 j i j doif lt then temp number j number j 1 temp fidone done echo bin bash 氣泡排序 sco...

實驗 shell 氣泡排序

演算法原理 氣泡排序的原理 以遞增序為例 是每次從頭開始依次比較相鄰的兩個元素,如果後面乙個元素比前乙個要大,說明順序不對,則將它們交換,本次迴圈完畢之後再次從頭開始掃瞄,直到某次掃瞄中沒有元素交換,說明每個元素都不比它後面的元素大,至此排序完成。由於氣泡排序簡潔的特點,它通常被用來對於計算機程式設...