排序是一种思想--冒泡排序--衍生版

排序是一种思想,java中常见的排序方法有很多,常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。
今天抽空将每一种排序方式进行复习,同时总结一下之前学过的内容;

/按照惯例先复习/
package com.array.sort;
public class SortArrayMethod {
//数组的初始化
//数组的默认初始化,在定义时候各元素就有默认值
int array0[] = new int[9];
//数组静态初始化
int array[] = {12, 45, 85, 213, 1, 85, 47, 71};
//数组的动态初始化
//开始的时候只定义不分配空间,
int arrays[];
public void test() {
//需要的时候再分配空间--然后赋予值
arrays = new int[2];
arrays[0] = 1;
arrays[1] = 2;
}
//定义排序方法--可以将常用的方法整理成一个=合集以便日常工作中拿来直接用,提高工作效率--好主意
public void sortArray(int array[]) {//定义方法--对数组进行排序
//冒泡排序法--简介
/*
冒泡排序:冒泡排序(Bubble Sort),
是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,
如果他们的顺序错误就把他们交换过来。走
访数列的工作是重复地进行直到没有再需要交换,
也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。
/
//开始比较
for (int i = 0; i < array.length - 1; i++) {//
for (int j = 0; j < array.length - 1 - i; j++) {
//第一个跟第二个进行比较,如果第二个>第一个。则第二个跟第一个交换位置,同理第二个跟第三个。。。
if (array[j] < array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
//交换位置了
}
}
}
}
}
/
实际上根据此种思想有很多衍生版本,只要思想有了,方法就有了*/

package com.array.sort;
import java.util.Arrays;
public class SortArray {
public static void main(String[] args) {
int array[] = {12, 45, 85, 213, 1, 85, 47, 71};
//数组的排序方式
//第一种--//冒泡排序--降序排序(也可以换成升序)
new SortArrayMethod().sortArray(array);
//验证是否排序成功
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + "\t");
}
System.out.println();
//实际上不用这么复杂,直接调用Arrays.sort()即可升序排序
Arrays.sort(array);
for (int ele:array)//foreach参数--迭代的下标,要迭代的内容
System.out.print(ele+"\t");//如果只有一行代码可以省略{}

}

}

你可能感兴趣的:(排序是一种思想--冒泡排序--衍生版)