java选择排序跟冒泡排序代码,java选择排序和冒泡排序

本文目录一览:

用java编写冒泡排序和选择排序 代码???

public class TestBaiduKnow {

public static void main(String[] args) {

int[] a = { 3, 5, 6, 1, 2, 8, 9 };

// 冒泡 排序后结果从小到大

for (int i = 0; i  a.length; i++)

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

if (a[i]  a[j]) {

a[i] = a[i] + a[j];

a[j] = a[i] – a[j];

a[i] = a[i] – a[j];

}

}

print(a);

// 选择排序 结果从大到小

int pos = -1;

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

int max = a[i];

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

if (max  a[j]) {

pos = j;

max = a[j];

}

}

if (pos != -1) {

a[i] = a[i] + a[pos];

a[pos] = a[i] – a[pos];

a[i] = a[i] – a[pos];

pos = -1;

}

}

print(a);

}

private static void print(int[] a) {

for (int i = 0; i  a.length; i++)

System.out.print(a[i] + “\t”);

System.out.println();

}

}

输入一组数组 如何用Java按冒泡排序和选择排序输出数组 求代码

/**

 * 2015年5月28日下午9:52:57

 * 

 * @author season TODO 测试已通过,获取财富值

 *

 */

public class ArrayOperation {

    /**

     * 对数组 arr 进行冒泡排序升序排序

     * 

     * @param arr

     *            目标数组

     */

    public static void bubbleToUp(int[] arr) {

        if (null == arr)// 数组为空时,退出该方法

            return;

        for (int i = 0; i  arr.length – 1; i++) {

            for (int j = 0; j  arr.length – i – 1; j++) {

                if (arr[j]  arr[j + 1]) {

                    int temp = arr[j];

                    arr[j] = arr[j + 1];

                    arr[j + 1] = temp;

                }

            }

        }

    }

    /**

     * 使用选择排序法对目标数组进行降序排序

     * 

     * @param arr

     *            目标数组

     */

    public static void selectToDown(int[] arr) {

        for (int i = 0; arr != null  i  arr.length; i++) {

            int flag = i;

            for (int j = i + 1; j  arr.length; j++) {

                if (arr[j]  arr[flag])

                    flag = j;

            }

            if (flag != i) {

                int temp = arr[i];

                arr[i] = arr[flag];

                arr[flag] = temp;

            }

        }

    }

    /**

     * 遍历数组所有元素

     * 

     * @param arr

     *            目标数组

     */

    public static void displayArray(int[] arr) {

        System.out.println();

        for (int num : arr)

            System.out.print(”  ” + num);

    }

    public static void main(String[] args) {

        // 初始化数组

        int[] arr = { 20, -878, 90, 78, 89, -908 };

        // 首先进行冒泡排序(升序)

        bubbleToUp(arr);

        displayArray(arr);

        // 然后进行选择排序(降序)

        selectToDown(arr);

        displayArray(arr);

    }

}

java冒泡排序法代码

冒泡排序是比较经典的排序算法。代码如下:

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

for(int j=1;jarr.length-i;j++){

//交换位置

}    

拓展资料:

原理:比较两个相邻的元素,将值大的元素交换至右端。

思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

依次类推,每一趟比较次数-1;

??

举例说明:要排序数组:int[] arr={6,3,8,2,9,1}; 

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

for(int j=1;jarr.length-i;j++){

//交换位置

}    

参考资料:冒泡排序原理

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/241983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:45
下一篇 2024-12-12 12:45

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29

发表回复

登录后才能评论