区块链技术博客
www.b2bchain.cn

数组及冒泡排序

这篇文章主要介绍了数组及冒泡排序的讲解,通过具体代码实例进行17595 讲解,并且分析了数组及冒泡排序的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=17595

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

数组及冒泡排序

  • Shell数组
    • 1.数组定义的方法
    • 2.数组的操作
  • 冒泡排序
    • 1.排序流程
    • 2.键盘输入冒泡排序

Shell数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小
与大部分编程语言类似,数组元素的下标由0开始。

1.数组定义的方法

方法一:数组名=(value0 value1 value2 …)
方法二:数组名=([0]=value [1]=value [2]=value … )[ ]:下标
方法三:列表名=“value0 value1 value2 … ”
数组名=($列表名)
方法四:数组名[0]=“value”
数组名[1]=“value”
数组名[2]=“value”

例:

方法一:[[email protected] ~]# b=(1 2 3 4 5 )  方法二:[[email protected] ~]# c=([0]=10 [1]=20 [2]=30)  方法三:[[email protected] ~]# list="a b c d"        [[email protected] ~]# d=($list)  方法四:[[email protected] ~]# e[0]=11        [[email protected] ~]# e[1]=12        [[email protected] ~]# e[2]=13        [[email protected] ~]# e[3]=14 

2.数组的操作

  • 1.数组长度与下标赋值
[[email protected] ~]# b=(1 2 3 4 5 ) [[email protected] ~]# echo ${#b[*]} 5 [[email protected] ~]# echo ${#b[@]} 5 [[email protected] ~]# echo ${b[0]} 1 [[email protected] ~]# echo ${b[4]} 5 [[email protected] ~]# echo ${b[@]} 1 2 3 4 5   c=([0]=10 [1]=20 [2]=30) [[email protected] ~]# echo ${#c[@]} 3 [[email protected] ~]# echo ${c[0]} 10 [[email protected] ~]# echo ${c[2]} 30 [[email protected] ~]# echo ${c[*]} 10 20 30  
  • 2.数组遍历

[[email protected] ~]# vi num.sh
[[email protected] ~]# chmod +x num.sh
[[email protected] ~]# ./num.sh

#!/bin/bash # 数组循环 a=(1 2 3 4 5) for num in ${a[*]} do    echo $num done 
  • 3.数组的切换
[[email protected] ~]# b=(1 2 3 4 5 ) [[email protected] ~]# echo ${b[@]/3/33}   (在输出时替换,本质未变) 1 2 33 4 5 [[email protected] ~]# echo ${b[@]} 1 2 3 4 5 [[email protected] ~]# b=${b[@]/3/33}      (改变本源) [[email protected] ~]# echo $b 1 2 33 4 5 
  • 3.数组删除
[[email protected] ~]# unset b [[email protected] ~]# echo ${b[@]}  无结果 

冒泡排序

通过对数据循环排序,得出数值大小,进行排序

1.排序流程

score =(10 5 1 100 70 60)

[[email protected] ~]# vi maopao.sh [[email protected] ~]# chmod +x maopao.sh  [[email protected] ~]# ./maopao.sh  
#!/bin/bash # 冒泡排序 score=(10 5 1 100 70 60) for ((i=1;i<${#score[*]};i++)) do   for ((j=0;j<${#score[*]}-$i;j++))   do      if [ ${score[j]} -gt ${score[$(($j+1))]} ]      then temp=${score[j]}       中间变量          score[j]=${score[$(($j+1))]}          score[$(($j+1))]=$temp      fi   done done echo ${score[*]}  此处[$(($j+1))]可以替换为[j+1] 

2.键盘输入冒泡排序

[[email protected] ~]# vi maopao.sh [[email protected] ~]# chmod +x maopao.sh  [[email protected] ~]# ./maopao.sh  
#!/bin/bash # 键盘输入冒泡排序 k=0                         数组第一位元素 while true                一直继续,循环 do   read -p "是否需要输入数值?" do     变量名   if [ $do == "no" ]   只要不输入no就一直继续   then break            退出循环   fi   read -p "请输入第$(($k+1))个元素" key   score[$k]=$key   let k++ done  for ((i=1;i<${#score[*]};i++)) do   for ((j=0;j<${#score[*]}-$i;j++))   do      if [ ${score[j]} -gt ${score[j+1]} ]      then temp=${score[j]}          score[j]=${score[j+1]}          score[j+1]=$temp      fi   done done echo ${score[*]} 

数组及冒泡排序

本文转自互联网,侵权联系删除数组及冒泡排序

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 数组及冒泡排序
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们