JAVA面试--冒泡排序

基本概念
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。
由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,…,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,…,9,对于每一个i, j的值依次为1,2,…10-i。

JAVA算法

Java代码

  1. package com.xyq.demo;   
  2.   
  3. public class BubbleSort {   
  4.     public static void sort(int[] data) {   
  5.         int temp;   
  6.         for (int i = 0; i < data.length; i++) {   
  7.             for (int j = data.length – 1; j > i; j–) {   
  8.                 if (data[i] > data[j]) {   
  9.                     temp = data[i];   
  10.                     data[i] = data[j];   
  11.                     data[j] = temp;   
  12.                 }   
  13.             }   
  14.         }   
  15.     }   
  16.   
  17.     public static void main(String[] args) {   
  18.         int[] a = { 42315 };   
  19.         sort(a);   
  20.         for (int i = 0; i < a.length; i++)   
  21.             System.out.print(a[i] + ” “);   
  22.     }   
  23. }  
点赞