#脚本内容:
#!/bin/bash
read -p "请输入你的数组长度:" num1 #先把用户输入的各个元素放入数组中
for i in `seq $num1`
do
read -p "请输入$i个数:" num2
array[$i-1]=$num2
done
echo ${array[*]}
#--------------------下面排序-------------------------------------------
for((m=0;m<${#array[*]}-1;m++))
do
for((n=0;n<${#array[*]}-1;n++))
do
if [[ ${array[n]} -gt ${array[n+1]} ]]
then
num=${array[n]} #num 作为一个中间存储量
array[n]=${array[n+1]}
array[n+1]=$num
fi
done
done
echo ${array[*]}
二、数组的降序排序
用户随意输一个数组,不局限数组长度,输出结果将数组降序排序
#脚本内容:
#!/bin/bash
read -p "请输入你的数组长度:" num1
for i in `seq $num1`
do
read -p "请输入$i个数:" num2
array[$i-1]=$num2
done
echo ${array[*]}
for((m=0;m<${#array[*]}-1;m++))
do
for((n=0;n<${#array[*]}-1;n++))
do
if [[ ${array[n]} -lt ${array[n+1]} ]]
then
num=${array[n]}
array[n]=${array[n+1]}
array[n+1]=$num
fi
done
done
echo ${array[*]}
三、数组的插入排序
用户想在一个数组中的某个元素后插入一个新的元素,最后进行排序
#!/bin/bash
read -p "请输入一个数组:"
read -a array
echo "数组:${array[*]}"
len=${#array[*]}
read -p "你想在第几个数后插入,插入的数为:" m shu
ary=(${array[*]:0:$m} $shu ${array[*]:$m:$[$len-$m]})
echo "插入后的数组:${ary[*]}"
for((i=0;i<${#ary[*]}-1;i++))
do
for((j=0;j<${#ary[*]}-1;j++))
do
if [[ ${ary[j]} -gt ${ary[j+1]} ]]
then
num=${ary[j]}
ary[j]=${ary[j+1]}
ary[j+1]=$num
fi
done
done
echo "升序排序:${ary[*]}"