1.氣泡排序:
#for((i=0;i<10;i++))執行結果:for i in #兩種方法都可以
do((a[i]=$random % 1000
)) #產生隨機數
echo -n "$ "
done
function
bubble()
for((i=0;i))
dofor((j=i;j))
doif [ $ -ge $ ]
then
tmp=$
((a[i]=a[j]))
((a[j]=tmp))
fidone
done
}bubble
echo
echo
"after bubble:
"for((i=0;i<10;i++))
doecho -n "$ "
done
2.求陣列的最大子串行和:
#a=(-2執行結果:11 -4
13 -5 -2
)function
maxsum() #陣列a是在後面定義 但是maxsum裡面已經可用,可見a是全域性的
for((i=1;i))
do((currsum=currsum+a[i]))
#echo
"a[i]: $"#
echo
"f: $currsum
"if [ $currsum -gt $msum ]
then
#echo
"s: $currsum
"((msum=currsum))
elif [ $currsum -lt "0"
]
then
((currsum=0
))
fidone
return $msum
}a=(-2
11 -4
13 -5 -2
)#maxsum "$
"maxsum
echo $?
3. 二分查詢:
binarysearch()執行結果:a=$#
echo
"len an $"#
echo
"a $"#
echo
an
for i in
$a
doar[i]=$i
#echo
$i
done
#echo
"len $ar
"low=1
high=$
(( times=0))
while (( low <=high ))
do(( ++times ))
(( mid=(low+high)/2
)) #
echo -n "
mid=
"$mid
#echo -n "
ar[mid]=
"$
if (( v > ar
[mid] ))
then
(( low = mid + 1
))
elif (( v < ar
[mid] ))
then
(( high = mid - 1
))
else
#echo -e "
/ntimes=
"$times
return $mid
fidone
#echo -e "
/ntimes=
"$times
echo
"can not find
"return -1}
for ((i=1;i<=100;++i)) do
(( array[i] =i ))
done
binarysearch
2echo -e "
$?\ttimes
"binarysearch
8echo -e "
$?\ttimes
"binarysearch
101echo -e "
$?\ttimes
"exit
0
不知道為什麼不可以 return -1 ???
Shell程式設計例項
一 簡介 從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理等領域,shell程式設計...
shell程式設計例項
1.在 home資料夾中建立一百個資料夾。資料夾名稱依次為a1 a100.3.寫乙個程式,能夠將 et passwd的第一列取出,並且每一列都以一行字串 the 1 account is root 來顯示 4.編寫乙個程式,他的作用是先檢視一下 root test logical這個名稱是否存在。若...
shell程式設計小例項
linux就該這麼學 1,if else bin bash read p enter your score 0 100 grade if grade ge 85 grade le 100 then echo grade is excellent elif grade ge 70 grade le 8...