9_11.h
来自「清华大学郑莉《C++语言程序设计》课件、C++教材源代码、实验参考程序全集」· C头文件 代码 · 共 30 行
H
30 行
//9_11.h
#ifndef ARRAY_BASED_SORTING_FUNCTIONS
#define ARRAY_BASED_SORTING_FUNCTIONS
//用直接插入排序法对数组A中的元素进行升序排列
template <class T>
void InsertionSort(T A[], int n)
{
int i, j;
T temp;
// 将下标为1~n-1的元素逐个插入到已排序序列中适当的位置
for (i = 1; i < n; i++)
{
//从A[i-1]开始向A[0]方向扫描各元素,寻找适当位置插入A[i]
j = i;
temp = A[i];
while (j > 0 && temp < A[j-1])
{ //逐个比较,直到temp>=A[j-1]时,j便是应插入的位置。
//若达到j==0,则0是应插入的位置。
A[j] = A[j-1]; //将元素逐个后移,以便找到插入位置时可立即插入。
j--;
}
// 插入位置已找到,立即插入。
A[j] = temp;
}
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?