Linux实现十位数排序方法-创新互联
列举前四位数组的升序排序
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[*]}"
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:Linux实现十位数排序方法-创新互联
转载源于:http://scjbc.cn/article/hojhi.html