黑马程序员技术交流社区

标题: 讲真,一道题搞定三种排序. [打印本页]

作者: 112345666    时间: 2016-10-13 00:00
标题: 讲真,一道题搞定三种排序.


  1. import java.util.Arrays;
  2. import java.util.Scanner;

  3. public class Test02 {
  4.         /*
  5.          * 从键盘录入10个数,并对10个数进行排序 使用如下几种方法完成:
  6. (1)使用Arrays工具类进行排序
  7. (2)使用选择排序
  8. (3)使用冒泡排序 
  9.          */
  10.         public static void main(String[] args) {
  11.                 Scanner sc = new Scanner(System.in);
  12.                 System.out.println("请录入10个数:");
  13.                 int[] arr = new int[10];
  14.                 for (int i = 0; i < arr.length; i++) {
  15.                         int qq = sc.nextInt();
  16.                         arr[i] = qq;
  17.                 }
  18.                 // for (int i = 0; i < arr.length; i++) {
  19.                 // System.out.print(arr[i]+" ");
  20.                 // }

  21.                 // 使用Arrays工具类进行排序
  22.                 Arrays.sort(arr);
  23.                 for (int i = 0; i < arr.length; i++) {
  24.                         System.out.print(arr[i] + " ");
  25.                 }
  26.                 System.out.println();
  27.                 // 使用冒泡排序
  28.                 bubbleSort(arr);
  29.                 print(arr);
  30.                 System.out.println();
  31.               //选择排序
  32.                 selectSort(arr);
  33.                 print(arr);

  34.         }

  35.         public static void selectSort(int[] arr) {
  36.                 for (int i = 0; i < arr.length - 1; i++) {
  37.                         for (int j = i + 1; j < arr.length; j++) {
  38.                                 if (arr[i] > arr[j]) {
  39.                                         swap(arr, i, j);
  40.                                 }
  41.                         }
  42.                 }
  43.         }

  44.         private static void swap(int[] arr, int i, int j) {
  45.                 int temp = arr[i];
  46.                 arr[i] = arr[j];
  47.                 arr[j] = temp;
  48.         }

  49.         public static void bubbleSort(int[] arr) {
  50.                 for (int i = 0; i < arr.length - 1; i++) {
  51.                         for (int j = 0; j < arr.length - 1 - i; j++) {
  52.                                 if (arr[j] > arr[j + 1]) {
  53.                                         int temp = arr[j];
  54.                                         arr[j] = arr[j + 1];
  55.                                         arr[j + 1] = temp;
  56.                                 }
  57.                         }
  58.                 }

  59.         }

  60.         public static void print(int[] arr) {
  61.                 for (int i = 0; i < arr.length; i++) {
  62.                         System.out.print(arr[i] + " ");
  63.                 }
  64.         }
  65. }
复制代码

就是排序的题,用三种方法解,很经典,花了很长时间思索,的确是菜鸟啊!!
作者: star皆空    时间: 2016-10-13 00:05
刚好学到,路过Mark

作者: 蓝光四号    时间: 2016-10-13 00:07
看的眼花缭乱的,,,

作者: 112345666    时间: 2016-10-13 00:11
蓝光四号 发表于 2016-10-13 00:07
看的眼花缭乱的,,,

不好意思啊,就是抽取了几个方法,这是装逼用的
作者: 112345666    时间: 2016-10-14 02:06
版主赞了一个,nice
作者: 112345666    时间: 2016-10-15 00:27
昨晚考试让我觉得,点招题,干起来
作者: 112345666    时间: 2016-10-16 00:29
学到集合的最深处了
作者: 袁志娜    时间: 2016-10-19 22:42
{:3_46:}{:3_46:}{:3_46:}
作者: 112345666    时间: 2016-10-20 00:02
袁志娜 发表于 2016-10-19 22:42

好久没发帖子了
作者: 逃跑的鱼闯天涯    时间: 2016-10-20 23:47
好长啊,可是还没仔细看呢
作者: 112345666    时间: 2016-10-21 00:18
逃跑的鱼闯天涯 发表于 2016-10-20 23:47
好长啊,可是还没仔细看呢

代码虽长,思路简单啊

作者: 峰少    时间: 2016-10-21 13:39
可以!

作者: Wangyk    时间: 2016-10-24 20:28
值得收藏




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2