iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >JAVA入门学习 —数组排序的方法
  • 711
分享到

JAVA入门学习 —数组排序的方法

javaintellij-idea 2023-10-12 18:10:42 711人浏览 薄情痞子
摘要

目录 1.冒泡排序(Bubble Sort)2.选择排序(Select Sort)3.插入排序(Insert Sort)4.希尔排序(Shell Sort)5.快速排序(Quick Sort)

目录


在这里插入图片描述

1.冒泡排序(Bubble Sort)

冒泡排序的思想:
       从序列的一端开始向另一端冒泡,可以从左往右冒泡,也可以从右往左冒泡,依次比较相邻的两个数的大小(比大还是比小看要求)。
在这里插入图片描述

import java.util.Arrays;//冒泡排序public class BubbleSort_01 {public static void main(String[] args) {int a[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};for (int i = 0; i < a.length-1; i++) {for (int j = 0; j < a.length-1-i; j++) {if (a[j]>a[j+1]) {int temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}System.out.println(Arrays.toString(a));}}

2.选择排序(Select Sort)

选择排序的思想:
       首先,找到数组中最小(最大)的元素,拎出来,将它和数组的第一个元素交换位置,第二步,在剩下的元素中继续寻找最小(最大)的元素,拎出来,和数组的第二个元素交换位置,如此循环,知道整个数组排序完成。
在这里插入图片描述

import java.util.Arrays;//选择排序:先定义一个记录最小元素的下标,然后循环一次后面的,找到最小的元素,最后将他放到前面排序好的序列。public class SelectSort_02 {public static void main(String[] args) {        //标记第一个为待比较的数        //然后从后面遍历与第一个数比较        //如果小,就交换最小值        //保存最小元素的下标        //找到最小值后,将最小的值放到第一的位置,进行下一遍循环        int a[] = {3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48};        for (int i = 0; i < a.length - 1; i++) {            int index = i;            for (int j = i + 1; j < a.length; j++) {                if (a[j] < a[index]) {                    index = j;                }            }            int temp = a[index];            a[index] = a[i];            a[i] = temp;        }        System.out.println(Arrays.toString(a));    }}

3.插入排序(Insert Sort)

插入排序的思想:
       和我们打扑克牌的时候一样,从牌堆里一张一张摸起来的牌都是乱序的,我们会把摸起来的牌插入到左手中合适的位置,让左手中的牌时刻保持一个有序的状态。
       那如果我们不是从牌堆中摸牌,而是左手里面初始化就是一堆乱牌呢?一样的套路,我们把牌往手的右边挪一挪,把手的左边空出一点位置来,然后再乱牌中抽一张出来,插入到左边,再抽一张出来,插入到左边,每次插入都插入到适合的位置时刻保持左手里的牌是有序的,知道右边的牌抽完,则排序完毕。
       在第一轮中,从未排序区域随机拿出一个数字,既然是随机,那我们就获取第一个,然后插入到已排序区域中,此时已排序区域是空,那么就不做比较,默认自身已经是有序的了(在写代码时候,从下标为1的元素开始即可)。
在这里插入图片描述

import java.util.Arrays; //插入排序:定义一个待插入的数,再定义一个待插入数的前一个数的下标,然后拿待插入数与前面的数组一一比较,最后交换。    public static void main(String[] args) {        //长度不减1,是因为要留多一个位置方便插入数        //定义待插入的数        //找到待插入数的前一个数的下标        //拿a[i]与a[i-1]的前面数组比较        int a[] = {3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48};        for (int i = 0; i < a.length; i++) {            int insertValue = a[i];            int insertIndex = i - 1;            while (insertIndex >= 0 && insertValue < a[insertIndex]) {                a[insertIndex + 1] = a[insertIndex];                insertIndex--;            }            a[insertIndex + 1] = insertValue;        }        System.out.println(Arrays.toString(a));    }}

4.希尔排序(shell Sort)

希尔排序的思想:
       首先它把较大的数据集合分割成若干个小组(逻辑上分组),然后对每一个小组分别进行插入排序。
       增量这里可以有所不同,比如有10个数要进行排序,你设置的增量是4,那么a[0],a[4]与a[8],a[1],a[6]与a[9]是一组,分组进行插入排序,之后再缩小增量,再进行插入排序。
在这里插入图片描述

import java.util.Arrays;//希尔排序:插入排序的升级public class ShellSort_04 {        //将整个数组分为若干个子数组        //遍历各组的元素        //交换元素        int a[] = {3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48};        for (int gap = a.length / 2; gap > 0; gap = gap / 2) {            for (int i = gap; i < a.length; i++) {                for (int j = i - gap; j >= 0; j = j - gap) {                    if (a[j] > a[j + gap]) {                        int temp = a[j];                        a[j] = a[j + gap];                        a[j + gap] = temp;                    }                }            }        }        System.out.println(Arrays.toString(a));    }}

5.快速排序(Quick Sort)

6.归并排序(Merge Sort)

7.堆排序(Heap Sort)

8.计数排序 (Count Sort)

9.桶排序(Bucket Sort)

10.基数排序(Raix Sort)

其他排序方法请参考:这篇博客 或者 这篇博客

来源地址:https://blog.csdn.net/weixin_67614925/article/details/124295297

--结束END--

本文标题: JAVA入门学习 —数组排序的方法

本文链接: https://www.lsjlt.com/news/429755.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JAVA入门学习 —数组排序的方法
    目录 1.冒泡排序(Bubble Sort)2.选择排序(Select Sort)3.插入排序(Insert Sort)4.希尔排序(Shell Sort)5.快速排序(Quick Sort)...
    99+
    2023-10-12
    java intellij-idea
  • java数组排序的方法
    这篇文章主要介绍“java数组排序的方法”,在日常操作中,相信很多人在java数组排序的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java数组排序的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-02
  • java数组排序的方法有哪些
    Java中数组排序的方法有以下几种:1. Arrays.sort():用于对数组进行升序排序。可以用于对基本数据类型和对象类型数组进...
    99+
    2023-08-15
    java
  • ​​​​​​​Python入门学习之函数式编程的方法
    本篇内容介绍了“Python入门学习之函数式编程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言在 Python 中,函数是「头等公...
    99+
    2023-06-30
  • JavaScript数组排序和数字排序的方法
    这篇文章主要介绍“JavaScript数组排序和数字排序的方法”,在日常操作中,相信很多人在JavaScript数组排序和数字排序的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Java sort()数组排序的方法有哪些
    在Java中,可以使用以下几种方法对数组进行排序:1. 使用Arrays类的sort()方法:Arrays类是Java提供的一个包含...
    99+
    2023-08-15
    Java sort()
  • java对数组降序排序的方法是什么
    Java中对数组降序排序的方法有多种,以下是两种常用的方法:1. 使用Arrays类的sort方法,并传入一个Comparator对象来指定降序排序的规则。```javaimport java.util.Arrays;import ja...
    99+
    2023-08-11
    java
  • java二维数组排序的方法是什么
    Java中可以使用Arrays类的sort方法对二维数组进行排序。具体步骤如下:1. 导入java.util.Arrays类。```...
    99+
    2023-10-10
    java
  • Java由浅入深学习数组的使用
    目录一、前言二、数组的定义1.概述2.静态初始化数组3.动态初始化数组4.总结三、数组的属性1.访问2.长度3.遍历四、内存图1.单数组内存图2.多数组内存图3.数组指向相同内存五、...
    99+
    2024-04-02
  • 从零开始学习 Java:简单易懂的入门指南之查找算法及排序算法(二十)
    查找算法及排序算法 常见的七种查找算法:1. 基本查找2. 二分查找3. 插值查找4. 斐波那契查找5. 分块查找6. 哈希查找7. 树表查找 四种排序算法:1. 冒泡排序1.1 算法步骤...
    99+
    2023-08-31
    算法 排序算法 学习
  • 入门学习Go的基本语法
    目录1. 变量与常量Golang 中的标识符与关键字Golang 中的变量Golang 中的常量Golang 中的iota常量计数器2. 基本数据类型Golang 中的整型Golan...
    99+
    2024-04-02
  • Android中Intent组件的入门学习心得
    目录什么是 Intent ?Intent 的类型?Intent 的组成显式 Intent 的使用隐式 Intent 的使用总结什么是 Intent ? Intent是Android开...
    99+
    2024-04-02
  • 从零开始学习 Java:简单易懂的入门指南之数组(五)
    java基础知识 1.数组概念: 2.数组的定义格式一:格式二:详解:注意点: 3.数组的静态初始化完整格式:格式详解:注意点:简化格式:练习1:练习2:练习3: ...
    99+
    2023-08-31
    学习 java intellij-idea 开发语言
  • 深入浅析java中的排序方法
    这篇文章给大家介绍深入浅析java中的排序方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。排序1、概念:有n个记录的序列{R1,R2,.......,Rn}(此处注意:1,2,n 是下表序列,以下是相同的作用),其相...
    99+
    2023-05-31
    java 排序 ava
  • php+实现数组排序的方法
    在PHP中,排序是我们日常编程中经常需要用到的操作之一,针对数组的排序,PHP提供了多种排序函数来帮助我们完成该任务。接下来我们就来介绍几种常见的PHP数组排序方法。sort函数sort函数是PHP内置的排序函数之一,可以对数组进行升序排序...
    99+
    2023-05-23
  • PHP二维数组排序的 方法
    关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处...
    99+
    2023-09-01
    php 开发语言 数据库
  • 真正的Java学习从入门到精通
    一、 工具篇JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论...
    99+
    2023-06-03
  • PHP 函数学习的入门级资源
    函数是 php 中可重用的代码块,可减少代码重复和提高可读性。php 函数语法:function functionname(parameter1, parameter2, ...) {....
    99+
    2024-04-13
    教程 php
  • 带你入门Java的数组
    目录数组的定义数组的声明和创建1.动态初始化2.静态初始化3.数组的默认初始化数组的四个基本特点数组边界数组的使用Arrays类总结数组的定义 数组是相同类型数据的有序集合...
    99+
    2024-04-02
  • sql数组排序的方法是什么
    在 SQL 中,对数组进行排序通常使用 ORDER BY 子句。以下是一个简单的示例: SELECT column_name...
    99+
    2024-04-09
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作