Java冒泡排序与选择排序

Posted 溪山晴雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java冒泡排序与选择排序相关的知识,希望对你有一定的参考价值。

Java排序:

一、冒泡排序算法的运作如下:

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

 

二、选择排序:

  选择排序是从冒泡排序演化而来的,每一轮比较得出最小的那个值,然后依次和每轮“无序区”中参与比较的第一个值进行交换。 

 

具体代码:

 1 package com.study.sort;
 2 
 3 import java.util.Arrays;
 4 import java.util.Collections;
 5 import java.util.Random;
 6 /**
 7  * @ClassName: MaoPao 
 8  * @date 2017年10月10日 下午5:15:21
 9  */
10 public class MaoPao {
11 
12     public static void main(String[] args) {
13         int[] arr = new int[20];
14         Random rd = new Random();
15         for(int i = 0;i<20;i++){
16             int a= rd.nextInt(101);//100以内的随机整数
17             arr[i] = a ;
18 //            System.out.println(a);
19         }
20         //[19, 84, 47, 69, 28, 20, 79, 53, 17, 67, 96, 39, 49, 66, 1, 8, 92, 27, 63, 94]
21         System.out.println(Arrays.toString(arr));
22 //        mao(arr);
23         xuan(arr);
24         System.out.println(Arrays.toString(arr));
25     }
26     
27     //冒泡排序
28     public static int[] mao(int[] arr){
29         for(int i  = 0;i<arr.length-1;i++){
30             for(int j= 0;j<arr.length-1-i;j++){
31                 if(arr[j]>arr[j+1]){
32                     
33                     int temp = arr[j];
34                     arr[j] = arr[j+1];
35                     arr[j+1] = temp;                             
36                 }
37             }
38         }
39         return arr;
40     }
41     
42     //选择排序
43     public static int[] xuan(int[] arr){
44         for(int i = 0 ;i<arr.length;i++){
45             int min = i;
46             for(int j=i+1;j<arr.length;j++){
47                 if(arr[min]>arr[j]){
48                     min = j;
49                 }
50             }
51             if(min!= i){
52                 int temp = arr[min];
53                 arr[min] = arr[i];
54                 arr[i] = temp;
55             }
56         }
57         return arr;
58     }
59 }

 

以上是关于Java冒泡排序与选择排序的主要内容,如果未能解决你的问题,请参考以下文章

java常见排序算法--选择排序冒泡排序插入排序分析与比较

选择排序与冒泡排序

排序算法之冒泡选择插入排序(Java)

排序算法之冒泡选择插入排序(Java)

java 选择排序与冒泡排序

Java冒泡排序与选择排序