bash shell 實現快速排序演算法
[oracle@ct6605 testshell]$ cat test01.sh
#!/bin/bash
function array()
{
local a=(`echo "$@"`)
local s=${a[${#a[@]}-2]}
local t=${a[${#a[@]}-1]}
if [ "$s" -lt "$t" ];
then
i=$s
j=$t
temp=${arr[s]}
while [ "$i" -ne "$j" ]
do
while [[ "$j" -gt "$i" && "${arr[j]}" -ge "$temp" ]]
do
j=$[j-1]
done
mid=${arr[j]}
arr[j]=${arr[i]}
arr[i]=$mid
while [[ "$i" -lt "$j" && "${arr[i]}" -le "$temp" ]]
do
i=$[i+1]
done
mid=${arr[j]}
arr[j]=${arr[i]}
arr[i]=$mid
done
arr[i]=$temp
array arr[*] $s $[i-1]
array arr[*] $[i+1] $t
fi
}
arr=(13 12 16 14 15 333 3 24 9 14)
array arr[*] 0 9
echo ${arr[*]}
[oracle@ct6605 testshell]$ sh test01.sh
3 9 12 13 14 14 15 16 24 333
#!/bin/bash
function array()
{
local a=(`echo "$@"`)
local s=${a[${#a[@]}-2]}
local t=${a[${#a[@]}-1]}
if [ "$s" -lt "$t" ];
then
i=$s
j=$t
temp=${arr[s]}
while [ "$i" -ne "$j" ]
do
while [[ "$j" -gt "$i" && "${arr[j]}" -ge "$temp" ]]
do
j=$[j-1]
done
mid=${arr[j]}
arr[j]=${arr[i]}
arr[i]=$mid
while [[ "$i" -lt "$j" && "${arr[i]}" -le "$temp" ]]
do
i=$[i+1]
done
mid=${arr[j]}
arr[j]=${arr[i]}
arr[i]=$mid
done
arr[i]=$temp
array arr[*] $s $[i-1]
array arr[*] $[i+1] $t
fi
}
arr=(13 12 16 14 15 333 3 24 9 14)
array arr[*] 0 9
echo ${arr[*]}
[oracle@ct6605 testshell]$ sh test01.sh
3 9 12 13 14 14 15 16 24 333
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28539951/viewspace-1775617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 排序演算法-Java實現快速排序演算法排序演算法Java
- 排序演算法之快速排序的實現排序演算法
- 快速排序演算法C++實現排序演算法C++
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 二十、快速排序演算法——JAVA實現(遞迴)排序演算法Java遞迴
- 資料結構和演算法(Golang實現)(25)排序演算法-快速排序資料結構演算法Golang排序
- java實現快速排序Java排序
- Swift實現快速排序Swift排序
- GO 實現快速排序Go排序
- 快速排序(java實現)排序Java
- 快速排序 java實現排序Java
- bash shell實現2048小遊戲詳解遊戲
- php實現 歸併排序,快速排序PHP排序
- 服務計算 TDD實踐——實現快速排序演算法排序演算法
- Array.sort 演算法原理(插入排序\快速排序in-place實現)演算法排序
- 排序演算法__快速排序排序演算法
- 排序演算法:快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- 快速理解7種排序演算法 | python3實現(排序演算法Python
- 快速排序三種實現排序
- Python實現的快速排序Python排序
- Go實現氣泡排序和快速排序Go排序
- 排序演算法之 '快速排序'排序演算法
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- JavaScript實現標準快速排序JavaScript排序
- Python3實現快速排序Python排序
- 快速排序演算法排序演算法
- 【演算法】快速排序演算法排序
- 排序演算法:Java實現希爾排序排序演算法Java
- 排序演算法Java實現排序演算法Java
- 排序演算法 Java實現排序演算法Java
- 快速排序的四種python實現排序Python
- Sorting 排序演算法: Quick Sort 快速排序排序演算法UI
- 演算法之旅:快速排序演算法排序
- 演算法之快速排序演算法排序
- [20180930]bash shell &.txt
- shell Bash變數變數
- Sort排序專題(5)快速排序(QuickSort)(C++實現)排序UIC++
- JavaScript實現常用排序演算法JavaScript排序演算法