- class BubbleSort
- {
- public static void main(String[] args)
- {
- System.out.println("********冒泡排序!********");
- //定义一个整数类型的数组,长度为10
- int arr[] = {12,3,45,23,56,7,56,11,20,30};
-
- //排序之前的数组
- System.out.println("数组排序之前:");
- printArray(arr);
-
- //调用排序的方法对数组进行排序
- bubbleSort(arr);
- //打印输出数组中的整数
- System.out.println("数组排序之后:");
- printArray(arr);
- }
- public static void bubbleSort(int arr[]){
- /*冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。
- * 即首先比较第1个和第2个数,将小数放前,大数放后。
- * 然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。
- * 重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),
- * 将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,
- * 在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。
- */
- for(int i=0; i<arr.length; i++){
- for(int j=0; j<arr.length-i-1; j++){
- if(arr[j]>arr[j+1]){
- swap(arr, j, j+1);
- }
- }
- }
- }
- /*此方法用于相互交换数组中的两个数
- * 定义一个临时变量temp用于存储其中一个数
- */
- public static void swap(int arr[], int a, int b){
- int temp = arr[a];
- arr[a] = arr[b];
- arr[b] = temp;
- }
- //循环出数组中的每一个元素
- public static void printArray(int arr[]){
- for(int i=0; i<arr.length; i++){
- System.out.print(arr[i] + "\t");
- }
- }
- }
复制代码
|