当前位置:网站首页>shell数组
shell数组
2022-08-09 22:03:00 【花生味花生米】
一.数组
变量:存储单个元素的内存空间
数组:存储多个元素的连续的内存空间,相当于多个变量的集合
二.数组的作用
1.多个元素的组合,变量的集合,将相同特性的一类数据存进数组中。
2.在数组中怎么区分每个数据,给每个元素编上号。
3.数组的分类
普通、关联
三.数组名和索引
索引的编号(下标)从0开始,属于数值索引
索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash 4.0版本之后开始支持
bash的数组支持稀疏格式(索引不连续)
四.声明数组
普通数组可以不事先声明,直接使用
declare -a
关联数组必须先声明,再使用
declare -A
普通数组
关联数组
1.先申明 2.在赋值
五.数组遍历
循环输出定义值
六.数组切片
获取需要的结果(表示1到3,0和其他不输出)
七.数组替换
/10/80:将前定义的值更改为后面的值
八.冒泡排序
数组排序算法
冒泡排序
类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动。
基本思想
冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,
把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),
这样较小的元素就像气泡一样从底部上升到顶部。
算法思路
冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。
#定义数组
read -p "定义数组:" shu
a=($shu)
#假设定义最大数
b=${a[0]}
#循环(取值范围从0到a的定义的最大数,i++:给跳出条件,避免死循环)
for ((i=0;i<${#a[*]};i++))
#第一个值小于第二个值,直到找打最大的数循环结束
do
if [[ $b -lt ${a[$i+1]} ]];then
c=${a[$i+1]}
fi
done
echo "$c"
边栏推荐
- Liver all night to write a thirty thousand - word all the commands the SQL database, function, speaks clearly explain operators, content is rich, proposal collection + 3 even high praise!
- leetcode:320.列举单词的全部缩写
- 好未来,想成为第二个新东方
- Core Data浅谈系列之五 : 在UITableView中展示
- mysql 、pg 查询日期处理
- 一本通2074:【21CSPJ普及组】分糖果(candy)
- NodeJS使用JWT
- leetcode 刷题日记 计算右侧小于当前元素的个数
- leetcode brush questions diary Calculate the number of elements on the right that is less than the current element
- 聊聊SQL语句中 DDL 、DML 、DQL 、DCL 分别是什么
猜你喜欢
leetcode 38. 外观数列
EasyExcel使用
异常处理(try,catch,finally)
你真的了解乐观锁和悲观锁吗?
JSON 基本使用
Five Star Holdings Wang Jianguo: Deepen the track with "plant spirit" and promote growth with "animal spirit"
[Microservice~Nacos] Nacos service provider and service consumer
leetcode 39. 组合总和(完全背包问题)
Evolution of MLOps
xctf攻防世界 Web高手进阶区 ics-05
随机推荐
R语言ggplot2可视化:使用ggplot2可视化散点图、使用labs参数自定义Y轴的轴标签文本(customize Y axis labels)
用户代码未处理MetadataException
C. Binary String Reconstruction
openGauss数据库基本操作(超详细)
R语言ggplot2可视化:使用ggpubr包的ggscatter函数可视化散点图、使用scale_x_continuous函数的breaks参数指定X轴的断点的个数(设置参数n)
一文让你快速了解隐式类型转换【整型提升】!
CGLIB源码易懂解析
shell学习
One Pass 2074: [21CSPJ Popularization Group] Candy
级联下拉菜单的实现「建议收藏」
R语言使用mean函数计算样本(观测)数据中指定变量的相对频数:计算时间序列数据中大于前一个观测值的观测值所占的比例总体的比例
Kubernetes Service对象
力扣 1413. 逐步求和得到正数的最小值
Activiti7审批流
好未来,想成为第二个新东方
JuiceFS 在多云存储架构中的应用 | 深势科技分享
README_Albumentations
MLOps的演进历程
【服务器数据恢复】SAN LUN映射出错导致文件系统数据丢失的数据恢复案例
17-GuliMall 搭建虚拟域名访问环境