使用JAVA进行冒泡排序,选择排序

使用JAVA自带的数组工具类进行排序

从小到大输出: //JAVA中自带的数据工具包 import java.util.Arrays; public class 排序 { public static void main(String[] args) { //静态齿初始化一个一维数组 int[] array = {1,2,77,34,5,999,7,8,399}; //调用Arrays中的sort方法 Arrays.sort(array); //进行遍历输出 for(int i = 0 ; i<= array.length-1 ; i++ ){ System.out.println(array[i]); } } } 结果图: 从大到小输出: //JAVA中自带的数据工具包 import java.util.Arrays; public class 排序 { public static void main(String[] args) { //静态齿初始化一个一维数组 int[] array = {1,2,77,34,5,999,7,8,399}; //调用Arrays中的sort方法 Arrays.sort(array); //进行遍历输出 for(int i = array.length-1 ; i>=0 ; i-- ){ System.out.println(array[i]); } } } 结果图:

冒泡排序

冒泡排序(Bubble Sort):是一种最基础的交换排序。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。 冒泡排序的原理: 每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进行排序,只需将 n-1 个数归位,也就是要进行 n-1 趟操作。 而 “每一趟 ” 都需要从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面两个相邻的两个数大小关系,重复此步骤,直到最后一个还没归位的数。 下图转载博客 public class 冒泡排序 { public static void main(String[] args) { //静态初始化一个一维数组 int[] array = {22, 33, 123, 2, 0, 77, 231, 9}; //七个数据只需要比较6次,所以此处循环不能等于length-1 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类型的变量,接收数值大的数 int num = array[j]; //进行数据交换 array[j] = array[j + 1]; array[j + 1] = num; } } } //进行遍历输出 for (int i = 0; i <= array.length - 1; i++) { System.out.println(array[i]); } } } 结果图:

选择排序

选择排序的基本思想: 找到当前数字序列中最大(最小)的数,记录其所在位置,将其和最前面(最后面)的数进行交换,使最小(最大)的元素上浮(下沉)到本次排序的最前面(最后面),从而完成一趟(pass)排序。下一趟排序时,已经有序的元素不再参与 public class 选择排序 { public static void main(String[] args) { //静态初始化一个一维数组 int[] array = {2, 1, 4, 3, 22, 13}; for (int i = 0; i < array.length ; i++) { //定义最小元素的下标 int min = i; //找出最小元素的下标 for (int j = i + 1; j < array.length ; j++) { if (array[j] < array[min]) { //下标进行交换 min = j; } } //进行元素交换 if (array[i] > array[min]) { int temp = array[i]; array[i] = array[min]; array[min] = temp; } } //遍历输出 for (int i = 0; i <= array.length - 1; i++) { System.out.println(array[i]); } } } 结果图:
经验分享 程序员 微信小程序 职场和发展