溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux 實現(xiàn)十位數(shù)排序方法

發(fā)布時間:2020-05-27 13:40:01 來源:億速云 閱讀:396 作者:鴿子 欄目:開發(fā)技術(shù)

列舉前四位數(shù)組的升序排序
4 5 2 6
if 4 大于 5 ;那么就將4和五的位置進行調(diào)換(此處不大于無作為),拿第二個數(shù)和三個數(shù)作比較,if 5 大于 2 那么temp=5 5=2 2=temp;得到:4 2 5 6 ;繼續(xù)拿第四個數(shù)和第五個數(shù)做比較,if 2 大于 6 那么位置調(diào)換(無作為)。
此時得到4 2 5 6;上述循環(huán)做四次保證每一個數(shù)都能進行比較 這里簡寫:
if 4>2 ;then temp=4 4=2 2=temp; 得到 2 4 5 6,第二位和第三位 if 4>5;then 調(diào)換位置; 第三位和第四位  if 5 >6;then 調(diào)換位置 。
以下是具體的shell腳本:
#!/bin/bash
declare -a rand
declare -i temp
declare -i i
for i in {0..9};do
rand[$i]=$RANDOM
done
#上述步驟獲取十個隨機數(shù)保存至rand數(shù)組;
#//獲得數(shù)組個數(shù),數(shù)組從0開始所有要減一:${#rand[]}-1;
#第一輪為循環(huán)控制要進行多少倫比較,第二輪循環(huán)進行數(shù)的比較依次和下一個數(shù)進行比較;第二輪循環(huán)做一輪只能將一個數(shù)比較出來所以要做(數(shù)組個倫比較)才能將順序排序;
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[*]}"

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI