• Java直接插入算法


    直接插入算法是将N个带排序的元素看做成一个有序表和一个无序表。

    每次从无序表中取一个元素和有序表比较,重复N-1次完成排序。

    直接上代码:

     1 package test;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         int[] data = new int[] { 23, 1, 5, 7, 45, 26, 77, 3, 2 };
     6         showArray(data);
     7         sortArray(data);
     8         showArray(data);
     9     }
    10 
    11     //直接插入排序
    12     public static void sortArray(int[] data) {
    13         for (int i = 1; i < data.length; i++) {
    14             int temp = data[i];
    15             if (data[i] < data[i - 1]) {
    16                 int j = i - 1;
    17 
    18                 while (j >= 0 && temp < data[j]) {
    19                     data[j + 1] = data[j];
    20                     j--;
    21                 }
    22                 data[j + 1] = temp;
    23             }
    24         }
    25     }
    26     //遍历数组元素
    27     public static void showArray(int[] data) {
    28         for (int i = 0; i < data.length; i++) {
    29             System.out.print(data[i] + " ");
    30         }
    31         System.out.println();
    32     }
    33 }
  • 相关阅读:
    国王游戏
    选数
    双塔
    线段树
    树状数组及其他特别简单的扩展
    折半搜索
    VUE项目
    git_基本使用
    同源
    axios-使用
  • 原文地址:https://www.cnblogs.com/SeanAstin/p/6065272.html
Copyright © 2020-2023  润新知