zoukankan      html  css  js  c++  java
  • java学习day20--排序算法

    排序算法

    概念

    ​ 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。

    常用的排序算法

    冒泡排序

    选择排序

    快速排序

    归并排序

    冒泡排序

    概念:冒泡排序算法是把较小的元素往前调或者把较大的元素往后调。这种方法主要是通过对相邻两个元素
    进行大小的比较,根据比较结果和算法规则对该二元素的位置进行交换,这样逐个依次进行比较和
    交换,就能达到排序目的。
    核心就是: 相邻比较,位置交换.

    动态原理图

    代码实现:

    package cn.tedu.bubble;
    import java.util.Arrays;
    import java.util.Random;
    //冒泡排序测试
    public class Test1_Bubble {
        public static void main(String[] args) {
    //        创建一个数组
            int[] arr = new int[10];
            //产生10个随机数
            for (int i = 0; i <arr.length ; i++) {
                arr[i]=new Random().nextInt(100);
            }
            System.out.println(Arrays.toString(arr));
    
            //进行排序
            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;
                    }
                }
                System.out.println("第"+(i+1)+"轮结果:"+Arrays.toString(arr));
            }
        }
    }
    
    

    结果:

    [55, 21, 65, 45, 9, 29, 11, 8, 75, 47]//随机产生的数组
    第1轮结果:[21, 55, 45, 9, 29, 11, 8, 65, 47, 75]
    第2轮结果:[21, 45, 9, 29, 11, 8, 55, 47, 65, 75]
    第3轮结果:[21, 9, 29, 11, 8, 45, 47, 55, 65, 75]
    第4轮结果:[9, 21, 11, 8, 29, 45, 47, 55, 65, 75]
    第5轮结果:[9, 11, 8, 21, 29, 45, 47, 55, 65, 75]
    第6轮结果:[9, 8, 11, 21, 29, 45, 47, 55, 65, 75]
    第7轮结果:[8, 9, 11, 21, 29, 45, 47, 55, 65, 75]
    第8轮结果:[8, 9, 11, 21, 29, 45, 47, 55, 65, 75]
    第9轮结果:[8, 9, 11, 21, 29, 45, 47, 55, 65, 75]
    
  • 相关阅读:
    20191318实验四 《Python程序设计》实验报告
    20191318实验三 Socket编程技术
    20191318实验二 Python程序设计入门
    实验一 Python程序设计入门
    《信息安全专业导论》第十二周学习总结
    《信息安全专业导论》第十一周学习总结
    markdown画思维导图
    markdown页面内跳转
    20191206 2019-2020-2 《Python程序设计》实验四报告
    20191206 实验三《Python程序设计》实验报告
  • 原文地址:https://www.cnblogs.com/liqbk/p/12971556.html
Copyright © 2011-2022 走看看