shell数组排序和插入数字并排序

文章目录

  • shell数组排序
    • 升序
    • 降序
  • shell数组插入数字并排序

shell数组排序

升序

vim shengxu.sh
#!/bin/bash
for ((i=1;i<=5;i++));do
  read -p "请输入第$i个数字:" num
  abc[$i-1]=$num
done

for ((a=0;a<${#abc[*]};a++));do
for ((k=$a+1;k<${#abc[*]};k++));do
  if [ ${abc[$a]} -gt ${abc[$k]} ];then
   aaa=${abc[$a]}
   abc[$a]=${abc[$k]}
   abc[$k]=$aaa
  fi
done
done
echo ${abc[*]}

[root@localhost opt]# chmod +x shengxu.sh 
[root@localhost opt]# ./shengxu.sh 
请输入第1个数字:11
请输入第2个数字:44
请输入第3个数字:22
请输入第4个数字:33
请输入第5个数字:22
11 22 22 33 44

降序

vim jiangxu.sh
#!/bin/bash
for ((i=1;i<=5;i++));do
  read -p "请输入第$i个数字:" num
  abc[$i-1]=$num
done

for ((a=0;a<${#abc[*]};a++));do
for ((k=$a+1;k<${#abc[*]};k++));do
  if [ ${abc[$a]} -lt ${abc[$k]} ];then
   aaa=${abc[$a]}
   abc[$a]=${abc[$k]}
   abc[$k]=$aaa
  fi
done
done
echo ${abc[*]}

[root@localhost opt]# chmod +x jiangxu.sh
[root@localhost opt]# ./jiangxu.sh 
请输入第1个数字:11
请输入第2个数字:22
请输入第3个数字:33
请输入第4个数字:44
请输入第5个数字:55
55 44 33 22 11

shell数组插入数字并排序

vim paixu.sh
#!/bin/bash
for ((i=1;i<=5;i++));do
  read -p "请输入第$i个数字:" num
  abc[$i-1]=$num
done

for ((a=0;a<${#abc[*]};a++));do
for ((k=$a+1;k<${#abc[*]};k++));do
  if [ ${abc[$a]} -lt ${abc[$k]} ];then
   aaa=${abc[$a]}
   abc[$a]=${abc[$k]}
   abc[$k]=$aaa
  fi
done
done
echo ${abc[*]}
read -p "请输入插入的数字:" num1
abc[5]=$num1
echo ${abc[*]}
c=${#abc[*]}-1
for ((b=0;b<${#abc[*]};b++));do
  if [ ${abc[$b]} -lt ${abc[5]} ];then
   aaa=${abc[$b]}
   abc[$b]=${abc[5]}
   abc[5]=$aaa
  fi
done
echo ${abc[*]}

[root@localhost opt]# chmod +x paixu.sh
[root@localhost opt]# ./paixu.sh 
请输入第1个数字:22
请输入第2个数字:33
请输入第3个数字:11
请输入第4个数字:44
请输入第5个数字:22
44 33 22 22 11
请输入插入的数字:21
44 33 22 22 11 21
44 33 22 22 21 11

你可能感兴趣的:(云计算基础,shell)