DSA/SortingAlgo: InsertionSort

Harris_0716
Jun 12, 2023

--

前言: 插入排序法是將元素反覆的插至正確的位置,事實上是透過賦值的方式,挪動元素,再將要插入的元素(pivot, key),放入正確的位置。

def insertionSort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while (j >= 0 and arr[j]>key):
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key

arr = [4, 7, 2, 9, 1, 3, 6, 5, 8, 0]
insertionSort(arr)
print(arr)
import java.util.Arrays;

class Main {
public static void main(String[] args) {
int arr[] = {4, 7, 2, 9, 1, 3, 6, 5, 8, 0};
System.out.println("After Sorting: ");
insertionSort(arr);
System.out.println(Arrays.toString(arr));
}

public static void insertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j+1] = key;
}
}
}

--

--

Harris_0716
0 Followers

I am graduate student from NCCU CS, and I majored in math at NCCU.