前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java中的排序除了冒泡以来, 再给出一种方法, 举例说明

java中的排序除了冒泡以来, 再给出一种方法, 举例说明

作者头像
马克java社区
修改于 2021-03-10 01:39:18
修改于 2021-03-10 01:39:18
2870
举报
文章被收录于专栏:java大数据java大数据

9.5 排序:   有一种排序的方法,非常好理解,详见本题的步骤,先找出最大值和最小值,把最小值打印出来后,把它存在另一个数组b当中,再删除此最小值,之后再来一次找出最小值,打印出最小值以后,再把它存在另一个数组b当中,再删除此最小值,这样循环往复,直到做完,你就会发觉,你已经把排了序数放在b数组当中了,而这里的彻底删除最小值的方法就是用比最大值还大一的数来取代最小值。(自己想想为什么?)参考后面的答案你会发觉,按照下面的四步,你已经把一个数组排序了。 i)make a method called getMin to find the minimal value of the array. ii)make a method called getMax to find the maximum value of the array. iii) replace the minimal value with the maximum+1. iiii) sort an array.

public class Test {

    static int minPosition=0;//用这个全局变量来记录最小数的位置索引,

    public static void main(String[] args) {

        int[] a = {6, 12, 7, 23, 4};

        int max = getMax(a);

        int[] b = new int[a.length];

        for (int j = 0; j < a.length; j++) {

            int min = getMin(a); 

 /*把a数组当中最小的值,马克-to-win给替换成max+1,这样就相当于把原来的最小值从这个数组当中彻底清除掉了。整个循环做完,a数组就彻底废了。*/

            a[minPosition] = max + 1; 

            minPosition=0;//把minPosition重置一下, 因为最小的位置已经不是这了。

            b[j] = min;//用此方法a数组当中的数就一个一个从小到大捣到b数组当中了

        }

        for (int j = 0; j < a.length; j++) System.out.println(b[j]);

    }

    static int getMax(int[] a) { 

       int max=a[0];

       for (int i = 1; i < a.length ; i++) {

           if(max<a[i])

           {

               max=a[i];

           }

       }        

       return max;

    }

    static int getMin(int[] a) { 

        int min=a[0];

        for (int i = 1; i < a.length ; i++) {

            if(min>a[i])

            {

                min=a[i];

                minPosition=i;//用这个全局变量来记录最小数的位置索引,

            }

        }        

        return min;

    }

}

更多请见:https://blog.csdn.net/qq_44639795/article/details/103142934

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
什么是计数排序?
9,3,5,4,9,1,2,7,8,1,3,6,5,3,4,0,10,9 ,7,9
用户1260737
2019/10/14
5650
什么是计数排序?
漫画:什么是计数排序?
9,3,5,4,9,1,2,7,8,1,3,6,5,3,4,0,10,9 ,7,9
程序员小明
2019/06/24
6680
八大排序算法(java实现) 冒泡排序 快速排序 堆排序 归并排序 等
一、直接插入 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度二、希尔排序 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度三、简单选择 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度四、堆排序 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度五、冒泡排序 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度六、快速排序 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度七、归并排序 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度八、基数排序 - 1.基本思路 - 2.代码实现 - 3.时间复杂度和空间复杂度总结
用户7886150
2020/12/04
2640
用 Java 实现常见的 8 种内部排序算法
插入类排序就是在一个有序的序列中,插入一个新的关键字。从而达到新的有序序列。插入排序一般有直接插入排序、折半插入排序和希尔排序。
归思君
2023/10/16
2380
用 Java 实现常见的 8 种内部排序算法
【06】JAVASE-数组讲解【从零开始学JAVA】
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
用户4919348
2024/05/25
1670
【06】JAVASE-数组讲解【从零开始学JAVA】
一遍记住Java常用的八种排序算法与代码实现
对Java技术,架构技术感兴趣的同学,欢迎加QQ群668041364,一起学习,相互讨论。 群内已经有小伙伴将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群领取。
java爱好者
2019/07/10
3970
java冒泡排序和快速排序
一、冒泡排序 1.算法介绍 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] > A[i]),则交换它们,其结果是将最小的元素交换到待排序序列的第一个位置
三哥
2018/06/15
1.3K0
【数据结构与算法】排序算法
)O(1)Y比较插入排序对于近乎有序的数据处理速度比较快,复杂度有所下降,可以提前结束希尔O(nlogn)O(
程序员波特
2024/10/08
1660
【数据结构与算法】排序算法
必须掌握的八种排序(7-8)--归并排序,基数排序
7、归并排序 (1)基本排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 (2
汤高
2018/01/11
7080
必须掌握的八种排序(7-8)--归并排序,基数排序
排序之简单排序
在元素之间进行比较,而Java提供了一个接口Comparable就是用来定义排序规则的。
Rochester
2020/09/01
4270
排序之简单排序
一种O(n)的排序——计数排序引发的围观风波
计算机课上,老师给一串数字6 1 6 9 9 1 4 2 1 5 8 8,问道:这一串数字,你们写个程序给我看,要求效率较高。学不出来的别下课了。
bigsai
2020/08/13
3380
一种O(n)的排序——计数排序引发的围观风波
使用ChatGPT生成了十种排序算法
当前ChatGPT非常火爆,对于程序员来说,ChatGPT可以帮助编写很多有用的代码。比如:在算法的实现上,就可以替我们省很多事。所以,小试牛刀一下,看看ChatGPT生成了排序算法怎么样?
KunkkaWu
2023/04/23
8540
使用ChatGPT生成了十种排序算法
排序算法之冒泡、插入、快排和选择排序
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
海仔
2019/10/28
3260
一文弄懂七种排序算法
本文介绍了七种经典排序算法,包括冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序以及堆排序,并且讨论了各种算法的进一步改进,在文章最后还对所有算法的时间和空间复杂度作了一个总结。
zhayujie
2020/06/16
1.1K0
基础算法|4 简单选择排序
我们之前已经了解了三种基础算法,分别为二分查找算法,冒泡排序算法,以及直接插入排序算法。俗话说得好,温故而知新,所以现在就让我们简单回顾一下之前的三种算法吧。
ACM算法日常
2018/10/18
6710
基础算法|4 简单选择排序
20张图带你搞懂十大经典排序算法
在面试的过程中经常会遇到手写排序算法,所以本文就简单总结一下。不对算法的细节做介绍,只做一个概括性的描述。
Java识堂
2021/11/16
4320
20张图带你搞懂十大经典排序算法
十大排序算法理解总结
1、时间复杂度:O(n2)O(n^2)O(n2) 2、空间复杂度:O(1)O(1)O(1) 3、稳定排序 4、原地排序
鳄鱼儿
2024/05/21
1410
简单的排序算法
该文介绍了两种简单的排序算法,分别是选择排序和冒泡排序。选择排序算法通过每次选择剩余元素中的最小值进行排序,而冒泡排序算法通过依次比较相邻元素并交换位置进行排序。这两种算法都相对简单,但效率较低,适合小规模数据的排序。
片刻
2017/12/29
7040
常用utils
数组最大最小值 function min(nums) { var res = nums[0] for (var i = 0; i < nums.length; i++) { if (res > nums[i]) { res = nums[i] } } return res } function max(nums) { var res = nums[0] for (var i = 0; i < nums.l
hss
2022/02/25
2600
Java数据结构和算法(三)——冒泡、选择、插入排序算法
  上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法。 1、冒泡排序   这个名词的由来很好理解,一般河水中的冒泡,水底刚
IT可乐
2018/01/04
1.1K0
Java数据结构和算法(三)——冒泡、选择、插入排序算法
相关推荐
什么是计数排序?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档