当前位置:网站首页>数组 冒泡排序
数组 冒泡排序
2022-08-09 05:11:00 【Drw_Dcm】
目录
一、数组(array)
变量:存储单个元素的内存空间
数组:存储多个元素的连续的内存空间,相当于多个变量的集合
1.数组的作用
(1)多个元素的组合,变量的集合
(2)将相同特性的一类数据存进数组中。
(3)区分数据: 给每个元素编号
2.数组的分类
(1)普通数组
(2)关联数组
3.数组名和索引
索引的编号(下标)从0开始,属于数值索引
索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引
索引可以不连续
3.声明数组
普通数组可以不事先声明,直接使用
关联数组必须先声明,再使用
4.数组定义方法
(1)一个一个赋值
(2)一起赋值
1)方法一:
数组名=(value0 value1 value2 ...)
2)方法二:
数组名=([0]=value [1]=value [2]=value ...)
3)方法三:
列表名="value0 value1 value2 ..."
数组名=($列表名)
4)方法四:
数组名[0]="value"
数组名[1]="value"
数组名[2]="value"
关联数组:
(1)要先声明
(2)赋值
a=(元素1 元素2 元素3 元素4 元素5 ......) 定义数组a
echo ${a[@]} 打印所有元素
echo ${a[*]} 打印所有元素
echo ${#a[*]} 查看数组中有几个元素 数组的长度 a 是数组的名字
echo ${#a[下标]} 查看数组中单独的元素 下标从0开始
5.数组包括的数据类型
(1)数值类型
(2)字符类型
(3)混合型数值加字符:使用" "或' '定义单引号或双引号括起来
数组遍历
数组切片(截取需要的元素部分)
${a[@]:开始下标:结束下标} !表示显示所有下标
数组追加元素
数组替换
数组删除
二、冒泡排序
类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动。
冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。
冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。
边栏推荐
- 22-08-08 西安 尚医通(04)MongoDB命令、MongoTemplate、MongoRepository
- C语言之内存函数
- [Developers must see] [push kit] Collection of typical problems of push service service 2
- Storage System Architecture Evolution
- 【Harmony OS】【ARK UI】Date Basic Operation
- IDEA05:线程管理
- el与data的
- 硅光电池采集用于植物叶片农残检测
- mysql内容不存在的报错
- Parameters in dynamic libraries cannot be modified through macro definitions or global variables in header files
猜你喜欢
随机推荐
算法---优美的排列(Kotlin)
Storage System Architecture Evolution
ELTEK电源维修SMPS5000SIL整流器模块故障分析及特点
leetcode:316. 去除重复字母
学习笔记--文件夹处理--代码学习
【LeetCode】1283. 使结果不超过阈值的最小除数
Perl basic grammar
二分搜索篇
9.jenkins安装
面向6G的大规模MIMO通信感知一体化:现状与展望
How to trim svg and compress
中断系统结构及中断控制详解
HAL库的使用之Cube配置编码器输入捕获模式
滑动窗口篇
74HC595 的使用
如何剪裁svg并压缩
mysql content does not exist error
el与data的
还不了解什么是商业智能(BI)?看完这篇文章就懂了
浅谈产品降本设计