按钟摆排列打印数组的程序。

java 8object oriented programmingprogramming更新于 2025/8/23 9:16:17

按照钟摆排列排列数组元素。

  • 对给定数组进行排序,创建一个空数组来存储结果。
  • 将第 0 个元素存储在变量 temp 中。
  • 将排序后数组中索引为 1 的元素存储在结果数组的第 (mid+1) 个位置,下一个元素存储在第 (mid-1) 个位置,下一个元素存储在第 (mid+2) 个元素中,依此类推。

示例

import java.util.Arrays;
import java.util.Scanner;
public class ArrayinPendulumArrangement {
   public static int[] swap(int origPos, int newPos, int[] array){
      origPos = 1;
      newPos = 4;
      int temp = array[origPos];
      array[origPos] = array[newPos];
      array[newPos] = temp;
      System.out.println(Arrays.toString(array));
      return array;
   }
   public static void main(String args[]){
      Scanner sc = new Scanner(System.in);
      System.out.println("请输入所需的数组大小(奇数):");
      int size = sc.nextInt();
      int [] myArray = new int[size];
      System.out.println("请输入数组元素:");
      for(int i = 0; i< size; i++){
         myArray[i] = sc.nextInt();
      }
      //对给定数组进行排序
      Arrays.sort(myArray);
      System.out.println("数组内容"+Arrays.toString(myArray));
      int temp = myArray[0];
      int mid = (size-1)/2;
      int k =1;
      int[] result = new int[size];
      for(int i = 1; i<=mid; i++){
         result[mid+i] = myArray[k++];
         result[mid-i] = myArray[k++];
      }
      result[mid] = temp;
      System.out.println("钟摆排列"+Arrays.toString(result));
   }
}

输出

输入所需的数组大小(奇数):
5
输入数组元素:
12
28
46
77
39
数组内容[12, 28, 39, 46, 77]
摆锤排列[77, 39, 12, 28, 46]

相关文章