一道面试题,对一个数组进行排序,第一个最大,第二个最小,第三个次大,一次类推

package test;

import java.util.Arrays;

public class TestSort {
 static int[] a = { 12, 24, 32, 28, 25, 60, 48, 9, 15 };

 public static void main(String[] args) {
  for (int i = 0; i < a.length; i++) {
   System.out.print(a[i] + ","); //打印最开始的数组
  }
  System.out.println();                //换行
  Arrays.sort(a); // 对指定 int 型数组的指定范围按数字升序进行排序
  for (int i = 0; i < a.length; i++) {
   System.out.print(a[i] + ",");   // 打印升序排列的数组
  }
  System.out.println();
  for (int i = a.length - 1; i >= 0; i--) {
   System.out.print(a[i] + ",");   // 打印降序排列的数组
  }
  System.out.println();
  tsort(a);                           //按照题目的要求进行排序
  for (int i = 0; i < a.length; i++) {    
   System.out.print(a[i] + ",");     //排序后打印出来
  }

 }

 public static void tsort(int[] a) { // 对排序好的数组进行两边弹出
  boolean flag = true;
  for (int i = 0; i < a.length - 1; i++) {
   if (flag) {
    for (int j = a.length - 1; j > i; j--) {   // flag刚开始为true,执行一次降序
     if (a[j] > a[j - 1]) {
      int team = a[j];
      a[j] = a[j - 1];
      a[j - 1] = team;
     }
    }
   } else {
    for (int j = a.length - 1; j > i; j--) {          //然后flag变为false,执行一次升序
     if (a[j] <= a[j - 1]) {
      int team = a[j];
      a[j] = a[j - 1];
      a[j - 1] = team;
     }
    }
   }
   flag = !flag;
  }
 }

}

 

阅读更多
文章标签: 面试 string class
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

一道面试题,对一个数组进行排序,第一个最大,第二个最小,第三个次大,一次类推

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭