您好,登錄后才能下訂單哦!
列舉前四位數組的升序排序
4 5 2 6
if 4 大于 5 ;那么就將4和五的位置進行調換(此處不大于無作為),拿第二個數和三個數作比較,if 5 大于 2 那么temp=5 5=2 2=temp;得到:4 2 5 6 ;繼續拿第四個數和第五個數做比較,if 2 大于 6 那么位置調換(無作為)。
此時得到4 2 5 6;上述循環做四次保證每一個數都能進行比較 這里簡寫:
if 4>2 ;then temp=4 4=2 2=temp; 得到 2 4 5 6,第二位和第三位 if 4>5;then 調換位置; 第三位和第四位 if 5 >6;then 調換位置 。
以下是具體的shell腳本:
#!/bin/bash
declare -a rand
declare -i temp
declare -i i
for i in {0..9};do
rand[$i]=$RANDOM
done
#上述步驟獲取十個隨機數保存至rand數組;
#//獲得數組個數,數組從0開始所有要減一:${#rand[]}-1;
#第一輪為循環控制要進行多少倫比較,第二輪循環進行數的比較依次和下一個數進行比較;第二輪循環做一輪只能將一個數比較出來所以要做(數組個倫比較)才能將順序排序;
for ((j=0;j<${#rand[]}-1;j++)); do
for ((k=0;k<${#rand[*]}-1;k++)); do
if [[ ${rand[$k]} -lt ${rand[$k+1]} ]];then
temp=${rand[$k]}
rand[$k]=${rand[$k+1]}
rand[$k+1]=$temp
fi
done
done
echo "${rand[*]}"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。