⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortsearchinsert.java

📁 JAVA 经典代码
💻 JAVA
字号:
import java.util.Arrays;
public class SortSearchInsert {
  public static void main(String args[]) throws Exception {
    int i_array[] = { 2, 4, -2, 6, -3, 0,8, -5, -9, 5 }; // 整数数组
    float f_array[] = {4.5f, -5.3f, 0, 2.1f, -7, 1.5f};  // 浮点数数组

    System.out.println("演示整数排序、查找、插入排序");
    System.out.println("演示整数排序");
    printArray(i_array);
    Arrays.sort(i_array);
    System.out.println("排序结果如下");
    printArray(i_array);

    System.out.println("演示二分查找");
    int index = Arrays.binarySearch(i_array, 2);
    System.out.println("在数组中找到2,其位置=" + index);
    index = Arrays.binarySearch(i_array, 1);
    System.out.println("在数组中没有找到1,二分查找方法返回结果" + index);
    
    System.out.println();
    System.out.println("演示插入");
    int newIndex = -index - 1;
    System.out.println("在数组 " + index + " 处插入元素8");
    i_array = insertElement(i_array, 8, newIndex);
    System.out.println("插入后,数组如下");
    printArray(i_array);

    System.out.println();
    System.out.println("下面演示浮点数排序、查找、插入");
    System.out.println("演示浮点数排序");
    printArray(f_array);
    Arrays.sort(f_array);
    printArray(f_array);

    System.out.println("演示浮点数二分查找");
    index = Arrays.binarySearch(f_array, -7);
    if (index < 0)
      System.out.println("查找 -7.0 失败");
    else
      System.out.println(" -7.0 " + "在数组中找到,其位置为" + index );
    index = Arrays.binarySearch(f_array, 5.5f);
    if (index < 0)
     System.out.println("查找 5.5f 失败");
    else
     System.out.println(" 5.5f位于数组 " + index);

    System.out.println("演示浮点数插入");
    System.out.println("在数组中插入元素8.2f后");
    newIndex = -index - 1;
    f_array = insertElement(f_array, 8.2f, newIndex);
    printArray(f_array);
  } // main方法结束

  // 打印整型数组
  private static void printArray(int array[]) {
    for (int i = 0, n = array.length; i < n; i++) {
      if (i != 0)
        System.out.print(", ");
      System.out.print(array[i]);
    } // for结束
    System.out.println();
  } // printArray方法结束

  // 打印浮点数数组
  private static void printArray( float array[]) {
     for (int i = 0, n = array.length; i < n; i++) {
       if (i != 0)
         System.out.print(", ");
       System.out.print(array[i]);
     } // for 结束
     System.out.println();
   } // printArray方法结束

   // 在整型数组中插入
   private static float[] insertElement(float original[], float element, int index) {
     int length = original.length;
     float destination[] = new float[length + 1];
     System.arraycopy(original, 0, destination, 0, index);
     destination[index] = element;
     System.arraycopy(original, index, destination,
                      index + 1, length - index);
     return destination;
   } // insertElement方法结束

  // 在浮点数组中插入
   private static int[] insertElement(int original[], int element, int index) {
    int length = original.length;
    int destination[] = new int[length + 1];
    System.arraycopy(original, 0, destination, 0, index);
    destination[index] = element;
    System.arraycopy(original, index, destination,
                     index + 1, length - index);
    return destination;
  } // insertElement方法结束
} // 类SortSearchInsert结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -