zoukankan      html  css  js  c++  java
  • 排序算法【java实现】(二)冒泡排序和简单选择排序

    冒泡排序

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法

    它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

    冒泡排序算法的运作如下:(从后往前)
    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    冒泡排序示例:


    代码实现:
    package com.jn.pro;
    
    /*
     * 冒泡排序
     */
    public class Sorting2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] arr = { 56, 25, 67, 19, 40 };
    		for(int i=0;i<arr.length-1;i++){
    			for(int j=0;j<arr.length-1-i;j++){
    				if(arr[j]>arr[j+1]){
    					int temp = arr[j];
    					arr[j] = arr[j+1];
    					arr[j+1] = temp;
    				}
    			}
    		}
    		for(int i=0;i<arr.length;i++){
    			System.out.println(arr[i]);
    		}
    	}
    }
    
    运行结果:
    19
    25
    40
    56
    67
    

    简单选择排序

    算法思想:
    简单选择排序的基本原理如下:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二轮比较,得到最小的记录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个时为止。

    简单选择排序示例:

    代码实现:

    package com.jn.pro;
    
    /*
     * 简单选择排序
     */
    public class Sorting3 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] arr = { 56, 25, 67, 19, 40 };
    		for(int i=0;i<arr.length;i++){
    			int minIndex = i;   //最小元素的下标
    			for(int j=i+1;j<arr.length;j++){
    				if(arr[minIndex]>arr[j]){
    				minIndex = j;    //交换下标
    				}
    			}
    			int temp = arr[i];
    			arr[i] = arr[minIndex];
    			arr[minIndex] = temp;
    		}
    		for(int i=0;i<arr.length;i++){
    			System.out.println(arr[i]);
    		}
    	}
    }
    

    运行结果:

    19
    25
    40
    56
    67


  • 相关阅读:
    7.2.7 其他的MediaRecorder方法
    7.2.6 MediaRecorder示例
    7.2.5 MediaRecorder状态机
    【风马一族_代码英语】代码英语之一
    【风马一族_Android】Android 前端内容1
    【风马一族_Android】Android 前端内容
    ssm框架拦截器
    对象,字符串,集合判断
    保存Session、获取Session、移除Session
    Hello Quartz
  • 原文地址:https://www.cnblogs.com/mlan/p/11060367.html
Copyright © 2011-2022 走看看