Shell指令碼排序演算法(冒泡排序)

來源:互聯網
上載者:User

Shell指令碼排序演算法(冒泡排序)

#/bin/basha=(9 84 51 0 345 1 2 34 1 0) #自己定義一個數組temp=for((i=0;i<10;i++)){for((j=i;j<10;j++)){  x=${a[$i]}if test $x -ge ${a[$j]}then  temp=${a[$i]}a[$i]=${a[$j]}a[$j]=$tempfi}}for((k=0;k<10;k++)){echo -n ${a[$k]} "  "}echo

上面寫的數組是事前在代碼裡定義好的數組排序,下面的是使用者在執行過程中自訂的數組排序。

 

#/bin/basha=`expr $# + 1`#expr是一個計算操作,$#是參數個數,$#+1是因為$0沒有儲存參數.temp=for((i=1;i<$a;i++)){b[$i]=$1shift 1}for((i=1;i<$a;i++)){for((j=i;j<$a;j++)){x=${b[$i]}if test $x -ge ${b[$j]}thentemp=${b[$i]}b[i]=${b[$j]}b[j]=$temp#相當與冒泡排序fi}}for((k=1;k<$a;k++)){echo -n ${b[$k]} " "#不換行顯示}echo

 

$: ./liu.sh 8 7 6 4 100 7
$: 4 6 7 7 8 100

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.