shell編寫氣泡排序

2021-10-10 14:49:29 字數 1322 閱讀 8398

從鍵盤賦值

# /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

# 氣泡排序

score=(66

3215100

701608)

for(

(i=1

;i<$

;i++))

dofor

((j=

0;j<$

-$i;j++))

doif

[ $-gt $

] then temp=$

score[j]

=$ score[$(

($j+1)

)]=$temp

fidone

done

echo $

執行指令碼檔案只要不輸入no就會一直執行

#!

/bin/bash

# 鍵盤輸入氣泡排序k=0

while

true

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

doif

[ $do

=="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氣泡排序

通過對資料迴圈排序,得出數值大小,進行排序。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...

Shell氣泡排序

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

實驗 shell 氣泡排序

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