码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数组 冒泡排序


    目录

    一、数组(array)

    1.数组的作用

    2.数组的分类

    3.数组名和索引

    3.声明数组

    4.数组定义方法

    5.数组包括的数据类型

     二、冒泡排序


    一、数组(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次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定是否交换位置,对比和交换次数随排序轮数而减少。

     

     

     

  • 相关阅读:
    2.Tensor For Beginner -Tensor Definition
    超全!程序员必备的20个学习网站,看这一篇就够了!
    DEM可视化如何更具有高级感
    软件测试的11个步骤
    【c#-Nuget 包“在此源中不可用”】 Nuget package “Not available in this source“
    【图像分割】基于差分进化算法优化模糊熵的多级图像阈值分割附matlab代码
    SpringBoot日常:@Scheduled实现服务启动时执行一次
    416. 分割等和子集
    【微客云】机器人怎么赚钱运营及功能介绍
    计算机思维基础
  • 原文地址:https://blog.csdn.net/Drw_Dcm/article/details/126229744
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号