无锡住房和城乡建设厅网站,网站广告怎么做,无锡网站设计公司,惠州百度网络推广文章目录 数组1 数组定义方法2 获取数组长度2.1 读取数组值2.2 数组切片2.3 数组替换2.4 数组删除2.5 追加数组元素 3 实验3.1 冒泡法3.2 直接选择法3.3 反排序法 数组
1 数组定义方法 数组名(value0 valuel value2 …) 数组名( [0]value [1]value [2]value …) 列表名“val… 文章目录 数组1 数组定义方法2 获取数组长度2.1 读取数组值2.2 数组切片2.3 数组替换2.4 数组删除2.5 追加数组元素 3 实验3.1 冒泡法3.2 直接选择法3.3 反排序法 数组
1 数组定义方法 数组名(value0 valuel value2 …) 数组名( [0]value [1]value [2]value …) 列表名“value0 valuel value2 …” 数组名($列表名) 数组名[0]“value” 数组名[1]“value” 数组名[2]“value”
2 获取数组长度
2.1 读取数组值
读取整个数组的值${数组名[*]}
获取数组中其中一个元素的值${数组名[索引号]}
2.2 数组切片
取数组中的某一段的元素的值
基本格式
${数组名[或*]}:起始位置(起始索引):长度echo ${arr1[*]:0:2} #这里是从0索引开始获得往后两位元素的值 echo ${arr1[*]:2:2} #获取从索引2开始往后获取两位元素的值 2.3 数组替换
临时替换 $(数组名[或*]/查找字符/替换字符} eg:${数组名[*]/4/77} 永久替换 数组名($数组名[或*]/查找字符/替换字符} eg:数组名$数组名[*]/4/77 2.4 数组删除 删除整个数组unset 数组名 删除指定元素unset 数组名[索引号] 2.5 追加数组元素
数组名要添加的元素直接往后追加
3 实验
3.1 冒泡法 基本思想是对比相邻的两个元素值 如果满足条件就交换元素值,把较小的元素移动到数组前面
把大的元素移动到数组后面(也就是交换两个元素的位置)
这样较小的元素就像气泡一样从底部上升到顶部
算法思路
冒泡算法由双层循环实现,其中外部循环用于控制排序轮数
一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比
同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小
以确定是否交换位置,对比和交换次数随排序轮数而减少
3.2 直接选择法
与冒泡排序相比,直接选择排序的交换次数更少,所以速度会快些
基本思想 将指定排序位置与其它数组元素分别对比, 如果满足条件就交换元素值,注意这里区别冒泡排序, 不是交换相邻元素,而是把满足条件的元素与指定的排序位置交换 这样排序好的位置逐渐扩大,最后整个数组都成为已排序好的格式
反序排序以相反的顺序把原有数组的内容重新排序3.3 反排序法
基本思想
把数组最后一个元素与第一个元素替换,倒数第二个元素与第二个元素替换,以此类推,直到把所有数组元素反转替换
有数组的内容重新排序。