package com.liuxian.algo; public class MySortClass implements Comparable<MySortClass> { public String userName; public int num; public MySortClass(String userName, int num) { this.userName = userName; this.num = num; } public int compareTo(MySortCla
/***关于冒泡排序,从性能最低版本实现到性能最优版本实现*/public class BubbleSortDemo { public static void sort(int array[]) { for (int i = 0; i < array.length - 1; i++) { //通过前面和后面对比,进行两两比对,复杂度是O(n2) for (int j = 0; j < array.length - i - 1; j++) { int temp = 0; if (array[j]
基本思想 设数组长度为N. 比较前后两个数据,如果前面的数据大于后面的数据,就将两个数据交换. 这样对数组的第0个数据到N - 1个数据进行遍历后,最大的一个数据就沉到了数组的第N - 1个位置. N = N - 1,如果N不为0就重复前面两步,否则排序完成. 第一种实现方法 public void sort(int[] array) { int tmp; int n = array.length; for (int i = 0; i < n; i++) { // 进行n - 1次循环 for
基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒. 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换. 代码实现: public class Sort { public void sort(int[] a){ for(int i=0;i<a.length-1;i++){ for(int j=0;j<a.length-i-1;j++){ if(a[j]<a[j+1]){int m;