A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Mr.Wu 中级黑马   /  2016-6-8 14:31  /  326 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.Scanner;
  2. class Array_Tool{
  3.         public static void main(String[] args) {
  4.                 int []arr = {1, 2, 3, 5, 2, 8, 9, 5, 25, 12, 4, 6, 9, 58, 59, 23, 18, 19 ,29, 56};
  5.                 Scanner sc = new Scanner(System.in);
  6.                 System.out.println("请输入你想得到的结果:1(数组冒泡排序)/2(数组获取最大值)/3(数组反转):");
  7.                 int a = sc.nextInt();
  8.                 if (a == 1) {
  9.                         System.out.println("数组冒泡排序后的元素为:");
  10.                         bubbleSort(arr);
  11.                         for (int i=0; i<arr.length; ++i){
  12.                                 System.out.println(arr[i]);
  13.                         }
  14.                 }else if (a == 2) {
  15.                         System.out.println("获取元素的最大值为:" + getMax(arr));
  16.                 }else if (a == 3) {
  17.                         reverseArr(arr);
  18.                         System.out.println("数组反转排序后的元素为:");
  19.                         for (int i=0; i<arr.length; ++i){
  20.                         System.out.println(arr[i]);
  21.                         }
  22.                 }else {
  23.                         System.out.println("输入错误");
  24.                 }
  25.         }

  26.         public static void bubbleSort(int [] arr) {
  27.                 for (int i=0; i<arr.length-1; ++i){
  28.                         for (int j=0; j<arr.length-1-i; ++j){
  29.                                 if (arr[j] > arr[j+1]) {
  30.                                         int temp = arr[j];
  31.                                         arr[j] = arr[j+1];
  32.                                         arr[j+1] = temp;
  33.                                 }
  34.                         }
  35.                 }
  36.         }

  37.         public static int getMax(int []arr) {
  38.                 int max = arr[0];
  39.                         for (int i=1; i<arr.length; ++i){
  40.                                 if (max < arr[i]) {
  41.                                         max = arr[i];
  42.                                 }
  43.                         }
  44.                 return max;
  45.         }

  46.         public static void reverseArr(int [] arr) {
  47.                 for (int i=0; i<arr.length / 2; ++i){
  48.                         int temp = arr[i];
  49.                         arr[i] = arr[arr.length - 1 - i];
  50.                         arr[arr.length - 1 - i] = temp;
  51.                 }
  52.         }
  53. }
复制代码

刚敲出来的分享下,都是一些必须得掌握的小算法。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马