首页 > 代码库 > Java基础——选择排序、冒泡排序
Java基础——选择排序、冒泡排序
1.选择排序
原理是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,
顺序放入新数组,直到全部拿完
代码演示:
1 public class Test3 { 2 public static void main(String[] args) { 3 int[] arr = { 3, 9, 81, 8, 5, 10 }; 4 selectSort(arr); 5 print(arr); 6 } 7 8 /* 选择排序:原理是第i个元素和剩余元素的比较次数 */ 9 public static void selectSort(int[] arr) {10 for (int i = 0; i < arr.length - 1; i++) {11 for (int j = i + 1; j < arr.length; j++) {12 if (arr[i] > arr[j]) {13 int temp = arr[i];14 arr[i] = arr[j];15 arr[j] = temp;16 }17 }18 }19 }20 21 /* 排序后打印函数 */22 public static void print(int[] arr) {23 System.out.print("{");24 for (int i = 0; i < arr.length; i++) {25 if (i < arr.length - 1)26 System.out.print(arr[i] + ",");27 else28 System.out.print(arr[i]);29 }30 System.out.print("}");31 }32 }
第10行的for循环控制的是总的比较次数,第11行for循环控制的是第i个数(最小值或最大值)和剩余的比较次数
2.冒泡排序
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,
这样一趟过去后,最大或最小的数字被交换到了最后一位,
然后再从头开始进行两两比较交换,直到倒数第二位时结束
代码示例:
1 public class Test4 { 2 public static void main(String[] args) { 3 int[] arr = { 3, 9, 81, 8, 5, 10 }; 4 bubbleSort(arr); 5 print(arr); 6 } 7 8 public static void bubbleSort(int[] arr) { 9 for (int i = 0; i < arr.length - 1; i++) {10 for (int j = i; j < arr.length; j++) {11 if (arr[i] > arr[j]) {12 int temp = arr[i];13 arr[i] = arr[j];14 arr[j] = temp;15 }16 }17 }18 }19 20 /* 排序后打印函数 */21 public static void print(int[] arr) {22 System.out.print("{");23 for (int i = 0; i < arr.length; i++) {24 if (i < arr.length - 1)25 System.out.print(arr[i] + ",");26 else27 System.out.print(arr[i]);28 }29 System.out.print("}");30 }31 }
Java基础——选择排序、冒泡排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。