Java冒泡排序与选择排序
Java排序:
一、冒泡排序算法的运作如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
二、选择排序:
选择排序是从冒泡排序演化而来的,每一轮比较得出最小的那个值,然后依次和每轮“无序区”中参与比较的第一个值进行交换。
具体代码:
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 }
每一个不曾起舞的日子,都是对生命的辜负。