Go 描述:
// 插入排序
// 将 data 的 [a, b) 范围进行排序
func insertionSort(data sort.Interface, a int, b int) {
for i := a + 1; i < b; i++ {
for j := i; j > a && data.Less(j, j-1); j-- {
data.Swap(j, j-1)
}
}
}
C++ 描述:
#include <utility>
// 插入排序
// 将 data 的 [a, b) 范围进行排序
template<typename T>
void InsertionSort(T data[], int a, int b)
{
for (auto i = a + 1; i < b; ++i)
{
for (auto j = i; j > a&&data[j] < data[j - 1]; --j)
{
std::swap(data[j], data[j - 1]);
}
}
}
Python 描述: