Java中的插入排序算法及程序示例
什么是插入排序算法?
插入排序是一种适用于小型数据集的简单排序算法。在每次迭代中,算法:
- 从数组中移除一个元素。
- 将其与数组中的最大值进行比较。
- 将元素移动到正确的位置。
插入排序算法过程
以下是插入排序算法过程的图形化工作原理:

插入排序算法过程
使用插入排序算法对数组进行排序的 Java 程序示例:
package com.guru99; public class InsertionSortExample { public static void main(String a[]) { int[] myArray = {860,8,200,9}; System.out.println("Before Insertion Sort"); printArray(myArray); insertionSort(myArray);//sorting array using insertion sort System.out.println("After Insertion Sort"); printArray(myArray); } public static void insertionSort(int arr[]) { int n = arr.length; for (int i = 1; i < n; i++) { System.out.println("Sort Pass Number "+(i)); int key = arr[i]; int j = i-1; while ( (j > -1) && ( arr [j] > key ) ) { System.out.println("Comparing "+ key + " and " + arr [j]); arr [j+1] = arr [j]; j--; } arr[j+1] = key; System.out.println("Swapping Elements: New Array After Swap"); printArray(arr); } } static void printArray(int[] array){ for(int i=0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println(); } }
代码输出:
Before Insertion Sort 860 8 200 9 Sort Pass Number 1 Comparing 8 and 860 Swapping Elements: New Array After Swap 8 860 200 9 Sort Pass Number 2 Comparing 200 and 860 Swapping Elements: New Array After Swap 8 200 860 9 Sort Pass Number 3 Comparing 9 and 860 Comparing 9 and 200 Swapping Elements: New Array After Swap 8 9 200 860 After Insertion Sort 8 9 200 860
java
- 带有程序示例的 C 库中的 calloc() 函数
- Java Hello World:如何通过示例编写您的第一个 Java 程序
- Java OOP 中的封装与示例
- Java 变量和数据类型与示例
- Java OOPS 中的类和对象是什么?通过示例学习
- Java 中的 String Length() 方法:如何通过示例查找
- Java String charAt() 方法及示例
- Java String contains() 方法 |用示例检查子字符串
- Java String endsWith() 方法及示例
- Java BufferedReader:如何通过示例在 Java 中读取文件
- Java中的冒泡排序算法:数组排序程序和示例
- Java程序中的选择排序与示例