iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >AJPFX:学习JAVA程序员两个必会的冒泡和选择排序
  • 143
分享到

AJPFX:学习JAVA程序员两个必会的冒泡和选择排序

2023-06-02 17:06:42 143人浏览 泡泡鱼
摘要

* 数组排序(冒泡排序)* * 冒泡排序: 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处* * 选择排序 : 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处*&n

* 数组排序(冒泡排序)

* 冒泡排序: 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引

* 选择排序 : 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处


* [1,3,9,5,7]  --> 排序  --> [1,3,5,7,9]
*/
public class ArraysDemo {
        public static void main(String[] args) {
                //定义数组
                //int[] arr = {1,3,9,5,7};
                int[] arr = {11,3,4435,435,21,33,432,3243};
                //打印排序前的数组
                printArray(arr);
                //数组排序
                //bubbleSort(arr);
                selectSort(arr);
                
                
                //打印排序后的数组
                printArray(arr);
        }

        //数组排序方法(选择排序)
        private static void selectSort(int[] arr) {
                //外循环控制循环的次数
                for (int i = 0; i < arr.length-1; i++) {
                        //i=0,1,2,3
                        //内循环控制参与比较的元素
                        //int j=i+1 避免重复比较
                        for (int j = i+1; j < arr.length; j++) {
                                //arr[i] 与arr[j]
                                //arr[0] 与 arr[1]
                                //arr[0] 与 arr[2]
                                //arr[0] 与 arr[3]
                                //arr[0] 与 arr[4]
                                if (arr[i] > arr[j]) {
                                        int temp = arr[i];
                                        arr[i] = arr[j];
                                        arr[j] = temp;
                                }
                        }
                }
        
        }

        //打印数组
        private static void printArray(int[] arr) {
                System.out.print("[");
                for (int i = 0; i < arr.length; i++) {
                        if (i == arr.length -1) {
                                System.out.println(arr[i] + "]");
                        } else {
                                System.out.print(arr[i] + ", ");
                        }
                }
        }

        //数组排序方法(冒泡排序)
        private static void bubbleSort(int[] arr) {
                //外层循环用来控制循环的次数
                for (int i = 0; i < arr.length-1; i++) {
                        //i=0,1,2,3
                        //内循环控制参与比较的元素
                        // j<arr.length-1 为了防止角标越界
                        // j<arr.length-1-i, 为了避免重复比较
                        for (int j = 0; j < arr.length-1-i; j++) {
                                //arr[j] 与 arr[j+1]比较,大的放后面
                                //j=0,  arr[0]与arr[1]
                                //j=1,  arr[1]与arr[2]
                                //j=2,  arr[2]与arr[3]
                                //j=3,  arr[3]与arr[4]
                                if (arr[j] > arr[j+1]) {
                                        int temp = arr[j];
                                        arr[j] = arr[j+1];
                                        arr[j+1] = temp;
                                }
                        }
                }
        }
}

--结束END--

本文标题: AJPFX:学习JAVA程序员两个必会的冒泡和选择排序

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

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

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

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

下载Word文档
猜你喜欢
  • AJPFX:学习JAVA程序员两个必会的冒泡和选择排序
    * 数组排序(冒泡排序)* * 冒泡排序: 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处* * 选择排序 : 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处*&n...
    99+
    2023-06-02
  • JAVA小练习冒泡排序,选择排序和插入排序
    冒泡:点击(此处)折叠或打开...
    99+
    2023-06-02
  • java冒泡排序和选择排序详解
    目录1、冒泡排序2、选择排序法总结1、冒泡排序 冒泡排序(Bubble Sorting)的基本思想是:通过对待 排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发...
    99+
    2024-04-02
  • java选择排序和冒泡排序有什么区别
    Java中的选择排序和冒泡排序是两种不同的排序算法,它们的区别主要体现在排序的方式和效率上。 排序方式: 选择排序:每次从未排...
    99+
    2023-10-26
    java
  • java中怎么实现冒泡排序和选择排序
    这篇文章将为大家详细讲解有关java中怎么实现冒泡排序和选择排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、冒泡排序冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序...
    99+
    2023-06-20
  • c语言冒泡排序和选择排序的使用代码
    目录1.冒泡排序2.选择排序区别总结1.冒泡排序 冒泡排序将一个列表中的两个元素进行比较,并将最小的元素交换到顶部。两个元素中较小的会冒到顶部,而较大的会沉到底部,该过程将被重复执行...
    99+
    2024-04-02
  • Java数据结构和算法之冒泡,选择和插入排序算法
    目录1、冒泡排序2、选择排序3、插入排序4、总结1、冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,水底刚冒出来的时候是比较小的,随着慢慢向水面浮起会逐渐增大,这物理规律我不作过...
    99+
    2024-04-02
  • 学习和实现Python中的选择排序算法
    理解Python中的选择排序原理与实现 选择排序(Selection Sort)是一种简单直观的排序算法,其基本思想是每次遍历数组,在未排序部分中选择最小(或最大)的元素,将其与未排序部分的第一个元素交换位置,然后继续从未排序部...
    99+
    2024-02-03
    原理 实现 选择排序 排列
  • 图解Java经典算法冒泡选择插入希尔排序的原理与实现
    目录一、冒泡排序1、基本介绍2、代码实现二、 选择排序1、基本介绍2、代码实现三、插入排序1、基本介绍2、代码实现四、希尔排序1、基本介绍2、代码实现(交换排序)3、代码实现(移位排...
    99+
    2024-04-02
  • Java 程序员必备!LeetCode 刷题笔记和学习心得分享
    作为一名 Java 程序员,想要提高自己的编码能力,刷 LeetCode 绝对是不可或缺的。LeetCode 是一个在线的编程刷题平台,拥有大量的算法题目,可以帮助程序员提升自己的编程能力和算法思维。 在这篇文章中,我将分享我的 Leet...
    99+
    2023-08-30
    leetcode 学习笔记 同步
  • JAVA程序员需要学习的25个标准是什么
    这篇文章主要讲解了“JAVA程序员需要学习的25个标准是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JAVA程序员需要学习的25个标准是什么”吧!你需要精通面向对象分析与设计(OOA/...
    99+
    2023-06-17
  • Java程序员学习Flex和BlazeDS的四个理由分别是什么
    这篇文章将为大家详细讲解有关Java程序员学习Flex和BlazeDS的四个理由分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java程序员学习Flex和BlazeDS的几个理由在...
    99+
    2023-06-17
  • 接口和对象数组:Java程序员必须掌握的两个重要概念!
    Java是一种面向对象的编程语言,它支持接口和对象数组这两个重要的概念。接口和对象数组是Java程序员必须掌握的两个重要概念,因为它们可以帮助程序员更好地组织和管理程序代码。 接口是Java中一种特殊的类,它定义了一组方法,但没有实现这些...
    99+
    2023-11-09
    接口 对象 数组
  • Java、Web和移动程序员学习的框架有哪些
    这篇文章主要介绍“Java、Web和移动程序员学习的框架有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java、Web和移动程序员学习的框架有哪些”文章能帮助大家解决问题。1)Angular这...
    99+
    2023-06-16
  • Java程序员必知必会的Shell脚本技巧:数组和文件操作全解析!
    Shell脚本是一种在Linux和Unix系统中编写脚本的语言,是自动化任务和系统管理的重要工具。对于Java程序员来说,学习Shell脚本可以帮助他们更好地管理和维护自己的代码,提高开发效率。本文将介绍Java程序员必知必会的Shell脚...
    99+
    2023-10-31
    shell 数组 文件
  • 程序员依然是这个时代,贫寒学子翻身的不二选择
    昨天跟一位许久未联系的前同事电话交流了一下业务和技术问题,顺带聊到了组里多位同事近况,有人顺利晋升,有人晋升无望转岗,有人准备再次冲刺,还有人多次晋升无果彻底佛系。 最后聊到将来计划,同事刚转岗到一个更加核心的部门,进入正轨,因不...
    99+
    2023-06-03
  • Java程序员应该如何选择适合Windows和Linux的数组实现方案?
    在Java编程中,数组是一种常见的数据结构。它可以用来存储一系列相同类型的数据,并且可以方便地进行访问和处理。不同的操作系统对于数组的实现方式可能存在一定的差异,因此在选择适合Windows和Linux的数组实现方案时,我们需要考虑以下几...
    99+
    2023-08-26
    linux windows 数组
  • 你需要学习Java编程算法和JavaScript的NPM包吗?这些技术对于程序员来说有多重要?
    当今互联网时代,计算机技术的不断发展已经成为人们生活中不可或缺的一部分。作为程序员,学习Java编程算法和JavaScript的NPM包已经变得越来越重要。本文将会介绍Java编程算法和JavaScript的NPM包的重要性,并且演示一些代...
    99+
    2023-08-21
    编程算法 javascript npm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作