java 常用的排序算法 (冒泡排序)(选择排序)

来源:互联网 发布:js返回根目录 编辑:程序博客网 时间:2024/06/06 20:10
1.冒泡排序

/**   * 冒泡法排序<br/>   * <li>比较相邻的元素。如果第一个比第二个大,就交换他们两个。</li>   * <li>对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。</li>   * <li>针对所有的元素重复以上的步骤,除了最后一个。</li>   * <li>持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。</li>   *    * @param numbers   *            需要排序的整型数组   */  public static void bubbleSort(int[] numbers) {       int temp; // 记录临时中间值       int size = numbers.length; // 数组大小       for (int i = 0; i < size - 1; i++) {           for (int j = 0; j < size-1-i; j++) {               if (numbers[j] < numbers[j+1]) { // 交换两数的位置                   temp = numbers[j];                   numbers[j] = numbers[j+1];                   numbers[j+1] = temp;               }           }       }   }



2.选择排序

代码/**   * 选择排序<br/>   * <li>在未排序序列中找到最小元素,存放到排序序列的起始位置</li>   * <li>再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。</li>   * <li>以此类推,直到所有元素均排序完毕。</li>   *    * @param numbers   */  public static void selectSort(int[] numbers) {       int size = numbers.length, temp;       for (int i = 0; i < size; i++) {           int k = i;           for (int j = size - 1; j >i; j--)  {               if (numbers[j] < numbers[k])  k = j;           }           temp = numbers[i];           numbers[i] = numbers[k];           numbers[k] = temp;       }   }










0 0
原创粉丝点击