• JAVA-初步认识-第五章-数组-常见操作-选择排序


    一. 排序

    元素有很多的情况下,我们都希望元素按照指定的方式有一个顺序,比如说由小到大。排序的方式有很多种,我们讲解其中一种。

    例子:

    对上面的数组中的元素排个序,从小到大。这个想不出来,之前谈论的是两个数比较,得到大的数。

    听了视频的一点讲解,突然有了思路,角标0和角标1进行比较后,将元素的大小做了调换,再继续将角标0和剩余角标的元素进行比较,最终保证角标0中的元素是所有角标中最小的。接着重复将角标1和后面角标中的元素进行比较,再得出一个最小的值,如此往复。这里排序的时候,有一点是要注意的,角标和空格位始终是从0到5的,如果要求排序的话,里面的元素是不断要调换位置的。不要僵硬地以为元素的角标号是固定不变的,变量想要获得元素的数据,只需要将其角标号给变量即可,至于角标号变化了,那就给予变化后的角标号即可,并不影响赋值,同时数组存储的依旧是那些值,没有变化。

    →本节的例子还是从两个数的大小比较演变而来。这也验证了一点,现象的背后总有规律,什么东西都不可能凭空出现的。

    →在数组的应用中,元素和角标号两者很重要,同时需要注意。

    对于上面的例子,角标的个数是明确的,也比较少,在编写源代码的时候比较好写。延伸一下,如果数组中数据的个数比较多,该怎么得到一个从小到大的排序?那可能要借助循环结构的自动功能。为什么这么说?我目前没有看到,视频的解题源代码,但是,我的想法是,五个角标的元素排序问题,我设置五个独立的循环结构比较。五个独立的,复用性不好,应该将其整合起来。

    →→需要遍历数组,遍历数组是什么意思?遍历好像就是将所有元素都来操作一遍。

    大圈套小圈思想。

    自己的解题过程

    思路的第一句不对,为什么选择循环嵌套结构语句没有交代。对于内循环的第二个表达式也写错了,应该写成y<arr.length

    这里要明白角标为arr.length和arr.length-1都是分别代表哪些位置上的数据。

    视频解题

  • 相关阅读:
    docker学习及应用
    openstack入门及应用
    C# 值类型,引用类型区别
    C# 继承
    Unity 使用Plugins接入安卓SDK 基础篇
    详谈 Unity3D AssetBundle 资源加载,结合实际项目开发实例
    Unity3D 协程 浅谈
    《俄罗斯,有点意思》
    老男孩之《生日快乐》
    【诗歌系列】《神曲》
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/7603542.html
Copyright © 2020-2023  润新知