首页 > 代码库 > java---数字排序
java---数字排序
Java中利用数组进行数字排序一般有4种方法:选择排序法、冒泡法、快速排序法、插入排序法。
选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序;
冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底;
快速排序法主要是运用Arrays类中的Arrays.sort方法()实现。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
选择排序法
package com.lovo;public class Test01 { public static void main(String[] args) { int[] a = new int[5]; for(int i = 0; i < a.length; i++) { a[i] = (int) (Math.random() * 99 + 1); System.out.print(a[i] + " "); } // 简单选择排序 for(int i = 0; i < a.length - 1; i++) { int minIndex = i; for(int j = i + 1; j < a.length; j++) { if(a[j] < a[minIndex]) { minIndex = j; } } if(minIndex != i) { int temp = a[i]; a[i] = a[minIndex]; a[minIndex] = temp; } } for(int x : a) { System.out.print(x + " "); } }}
冒泡排序法
package com.lovo;public class Test02 { public static void main(String[] args) { int[] a = new int[5]; for(int i = 0; i < a.length; i++) { a[i] = (int) (Math.random() * 99 + 1); System.out.print(a[i] + " "); } // 冒泡排序 boolean swapped = true; // 有没有发生过交换 for(int i = 1; swapped && i <= a.length - 1; i++) { swapped = false; for(int j = 0; j < a.length - i; j++) { if(a[j] > a[j + 1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; swapped = true; } } } for(int x : a) { System.out.print(x + " "); } }}
快速排序法
package com.lovo;import java.util.Arrays;public class Test03 { // 快速排序法 public static void main(String[] args) { int[] a = new int[5]; System.out.print("排序前: "); for (int i = 0; i < a.length; i++) { a[i] = (int) (Math.random() * 99 + 1); System.out.print(a[i] + " "); } System.out.print("\n排序后:"); Arrays.sort(a); // 进行排序 for (int x : a) { System.out.print(x + " "); } }}
java---数字排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。