#include<iostream>
using namespace std;
template<class T>
void DirectInsertSort(T* array, int n) { //array待排序数组,n:数组元素数量
int i, j; //循环变量
T temp; //存储待排序元素
for (i = 1; i < n; i++) {
j = i;
temp = array[i]; //待排序元素赋值给临时变量
while (j > 0 && temp < array[j - 1]) { //当未达到数组的第一个元素或者待插入元素小于当前元素
array[j] = array[j - 1]; //就将该元素后移
j--; //下标减一,继续比较
}
array[j] = temp; //插入位置已经找到,立即插入
}
}
int main()
{
int v[10];
cout << "请输入一个待排序数组:" << endl;
for (int i = 0; i < 10; i++)
{
cin >> v[i];
}
DirectInsertSort(v,10);
cout << "排序完成后的数组为:" << endl;
for (int i = 0; i < 10; i++)
{
cout << v[i] << ' ';
}
cout << endl;
system("pause");
return 0;
}
c++之直接插入排序
最新推荐文章于 2021-08-21 21:41:03 发布