当前位置:网站首页>数组 冒泡排序
数组 冒泡排序
2022-08-10 22:49:00 【怕失眠】
变量:存储单个元素的内存空间
数组:存储多个元素的连续的内存空间,相当于多个变量的集合
1.数组的作用
(1)多个元素的组合,变量的集合
(2)将相同特性的一类数据存进数组中。
(3)区分数据: 给每个元素编号
2.数组的分类
(1)普通数组
(2)关联数组
3.数组名和索引
索引的编号(下标)从0开始,属于数值索引
索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引
索引可以不连续
3.声明数组
普通数组可以不事先声明,直接使用
关联数组必须先声明,再使用
4.数组定义方法
(1)一个一个赋值
(2)一起赋值
数组名=(value0 value1 value2 value3 ......)
数组名=([0]=value [1]=value1 [2]=value2 ....)
列表名="value0 value1 value2 value3 ...... "
数组名=($列表名)
数组名[0]="value1"
数组名[1]="value2"
数组名[2]="value3"
数组的包括数据类型
数值型
字符型
混合型数值加字符
使用" "或' '定义单引号或双引号括起来


#数组分隔




关联数组:
(1)要先声明
(2)赋值
a=(元素1 元素2 元素3 元素4 元素5 ......) 定义数组a
echo ${a[@]} 打印所有元素
echo ${a[*]} 打印所有元素
echo ${#a[*]} 查看数组中有几个元素 数组的长度 a 是数组的名字
echo ${#a[下标]} 查看数组中单独的元素 下标从0开始

5.数组包括的数据类型
(1)数值类型
(2)字符类型
(3)混合型数值加字符:使用" "或' '定义单引号或双引号括起来
数组遍历

二、冒泡排序
类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动。
冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。
冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。


边栏推荐
- 实例052:按位或
- Fatal error: cstring: No such file or directory
- [Autumn Recruitment] [Updating ing] Hand Tear Code Series
- 【软件测试】2022年最火的十大测试工具,你掌握了几个
- August 10, 2022: Building Web Applications for Beginners with ASP.NET Core -- Creating Web UIs with ASP.NET Core
- CFdiv2-Beautiful Mirrors-(期望)
- BM7 list entry in central
- 还在用 Xshell?你 out 了,推荐一个更现代的终端连接工具,好用到爆!
- MySQL之JDBC编程增删改查
- "DevOps Night Talk" - Pilot - Introduction to CNCF Open Source DevOps Project DevStream - feat. PMC member Hu Tao
猜你喜欢

JS学习 2022080

LeetCode Daily 2 Questions 02: Reverse the words in a string (1200 each)

【640. Solving Equations】

确诊了!是Druid1.1.20的锅,查询无法映射LocalDateTime类型(带源码解析及解决方案)

Addition of linked lists (2)

Qualcomm Platform Development Series Explanation (Application) Introduction to QCMAP Application Framework

CFdiv2-Beautiful Mirrors-(期望)

"DevOps Night Talk" - Pilot - Introduction to CNCF Open Source DevOps Project DevStream - feat. PMC member Hu Tao

Ndk 和Cmake报错解决

BM13 determines whether a linked list is a palindrome
随机推荐
RecyclerView上下滑动时,不调用onBindViewHolder 导致列表的item不刷新
Redis - 利用lua脚本控制密码错误次数超限,锁定账号
Spark基础【RDD转换算子】
STL-stack
【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
如何利用fiddler连接手机抓包APP
fme csmapreprojector转换器使用高程异常模型进行高程基准转换
Research on multi-element N-k fault model of power system based on AC power flow (implemented by Matlab code) [Power System Fault]
MySQL之JDBC编程增删改查
LeetCode Daily 2 Questions 01: Reverse Strings (both 1200) Method: Double Pointer
Android | 安卓好用软件来袭,多御安全浏览器免费又强大
Splunk中解决数据质量问题常见日期格式化
JS学习 2022080
实例055:按位取反
【uniapp】uniapp微信小程序开发:启动微信开发者工具提示no such file or directory错误
OneNote tutorial, how to organize notebooks in OneNote?
金山云CEO王育林离职:正值冲刺港股之际 雷军曾送金砖
有趣并发性能分享:线程池为什么设计成这样?
Ndk 和Cmake报错解决
(PC+WAP)带手机端pbootcms模板铝合金类网站