43、shell脚本详解(六)----数组简介和排序算法

一、数组

1、数组的定义方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qk8mxhHW-1646408635430)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644850593744.png)]

(1) 方式一:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cpa88WGM-1646408635431)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644850726120.png)]

(2)方法二:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u15PNOfq-1646408635432)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644850790457.png)]

(3)方法三:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HbApiY3o-1646408635432)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644850833412.png)]

(4)方法四:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-efZOGx4S-1646408635432)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644850853869.png)]

2、数组包括的数据类型

  • 数值类型
  • 字符类型(字符串):使用" "或’ '定义,防止元素当中有空格,元素按空格分割。

3、获取数组长度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BYKbPIV4-1646408635433)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644851299971.png)]

4、获取数据列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nHIsFfj0-1646408635433)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644851352759.png)]

5、读取某索引附值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VLqjb1Ky-1646408635433)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644851454011.png)]

6、数组遍历

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1qZrGNrG-1646408635434)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644851705916.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jqMOK4Gq-1646408635434)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644851735105.png)]

7、数组切片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wyE1uBhj-1646408635434)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644852133388.png)]

8、数组替换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kX1TMIVS-1646408635435)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644852332905.png)]

9、数组删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-895yTUN0-1646408635435)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644852800417.png)]

10、数组追加元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RAswhtl5-1646408635435)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644853181894.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xErihXT6-1646408635435)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644915294829.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qGbU0lCg-1646408635436)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644915417362.png)]

11、向函数传递数组参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5EUpZyhS-1646408635436)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644915936279.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hWZdG9f9-1646408635436)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644915992900.png)]

二、数组排序算法

1、冒泡排序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tBonDuwc-1646408635437)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644916075604.png)]

类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动。

基本思想:

冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。
算法思路:

冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NH6l4qRp-1646408635437)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644918483061.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aFMGN7hW-1646408635437)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644918501183.png)]

2、直接排序法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5W17e22l-1646408635438)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644921263255.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TIAJwzjN-1646408635438)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644921281155.png)]

3、反转排序

  • 以相反的顺序把原有数组的内容重新排序
  • 基本思想:
  • 把数组最后一个元素与第一个元素替换。倒数第二个元素与第二个元素替换,以此类推,直到把所有的数组元素反转替换完

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBN1bVso-1646408635438)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644927776357.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YJeBHmEO-1646408635439)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644927789309.png)]

4、希尔排序

希尔排序,又称缩小增量法。其基本思想是:

1.先选定一个小于N的整数gap作为第一增量,然后将所有距离为gap的元素分在同一组,并对每一组的元素进行直接插入排序。然后再取一个比第一增量小的整数作为第二增量,重复上述操作…

2.当增量的大小减到1时,就相当于整个序列被分到一组,进行一次直接插入排序,排序完成。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aS9AnllN-1646408635439)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644929110608.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4bPBghz-1646408635439)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644929137345.png)]

原理例子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k4cWihLs-1646408635440)(C:\Users\XTC\AppData\Roaming\Typora\typora-user-images\1644929277756.png)]

g-aS9AnllN-1646408635439)]

[外链图片转存中…(img-m4bPBghz-1646408635439)]

原理例子

[外链图片转存中…(img-k4cWihLs-1646408635440)]

posted @ 2022-03-07 18:09  叕叕666  阅读(97)  评论(0)    收藏  举报