排序算法-冒泡排序
1、冒泡排序
算法思路
比较相邻的元素。如果第一个比第二个大,就交换它们两个;
对每一对相邻元素作同样的工作,从开始第一队到结尾的最后一对,这样在最后的元素应该会是最大的数;
针对所有的元素重复以上的步骤,除了最后一个;
重复步骤1-3,直到排序完成。
代码
package com.hsp.baselearn.algorithm; import java.util.Arrays; /** * 冒泡排序 */ public class BubbleUpSort { public static void main(String[] args) { int arr [] ={9,8,5,4,2,0}; bubbleUpSort(arr); } private static void bubbleUpSort(int[] arr) { if (arr == null && arr.length <= 1) return; for (int i = 0; i < arr.length-1; i++) { //趟数 n-1次 //内层循环是每趟 相邻 的 比较次数 for (int j = 0;j<arr.length-i-1;j++){//减去掉比较完成的i //交换位置 if(arr[j]>arr[j+1]){ swap(arr,j,j+1); } } } for (int i: arr) { System.out.print(i+"\t"); } } private static void swap(int[] arr,int i,int j){ int temp = arr [i]; arr[i]=arr[j]; arr[j]=temp; } }