首页 > 系统服务 > 详细

shell做升序或者降序排列十位随机数

时间:2020-02-28 09:38:35      阅读:237      评论:0      收藏:0      [点我收藏+]
十位数排序方法:
列举前四位数组的升序排序
4 5 2 6
if 4 大于 5 ;那么就将4和五的位置进行调换(此处不大于无作为),拿第二个数和三个数作比较,if 5 大于 2 那么temp=5 5=2 2=temp;得到:4 2 5 6 ;继续拿第四个数和第五个数做比较,if 2 大于 6 那么位置调换(无作为)。
此时得到4 2 5 6;上述循环做四次保证每一个数都能进行比较 这里简写:
if 4>2 ;then temp=4 4=2 2=temp; 得到 2 4 5 6,第二位和第三位 if 4>5;then 调换位置; 第三位和第四位 if 5 >6;then 调换位置 。
以下是具体的shell脚本:
#!/bin/bash
declare -a rand
declare -i temp
declare -i i
for i in {0..9};do
rand[$i]=$RANDOM
done
#上述步骤获取十个随机数保存至rand数组;
#//获得数组个数,数组从0开始所有要减一:${#rand[]}-1;
#第一轮为循环控制要进行多少伦比较,第二轮循环进行数的比较依次和下一个数进行比较;第二轮循环做一轮只能将一个数比较出来所以要做(数组个伦比较)才能将顺序排序;
for ((j=0;j<${#rand[]}-1;j++)); do
for ((k=0;k<${#rand[*]}-1;k++)); do
if [[ ${rand[$k]} -lt ${rand[$k+1]} ]];then
temp=${rand[$k]}
rand[$k]=${rand[$k+1]}
rand[$k+1]=$temp
fi
done
done

echo "${rand[*]}"

shell做升序或者降序排列十位随机数

原文:https://blog.51cto.com/12674034/2473981

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!