import std.stdio;
void insertionSort(int[] arr)
{
int n = arr.length;
for (int i = 1; i < n; ++i)
{
int key = arr[i];
int j = i - 1;
/* Move elements of arr[0..i-1], that are
greater than key, to one position ahead
of their current position */
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
void main()
{
int[] arr = [12, 11, 13, 5, 6];
writeln("Before sorting:");
writeln(arr);
insertionSort(arr);
writeln("\nAfter sorting:");
writeln(arr);
}
该代码使用D语言标准库(std.stdio
)输出排序前和排序后的数组。请注意,代码中的数组是通过手动输入定义的,读者可以自行更改。