/*
直接插入排序:
从第二个数开始,把每个数插入到前面合适的位置,知道所有的数据插入完成为止
*/
#include <iostream>
#include <time.h>
using namespace std;
#define N 10
void PrintArr(int *pnArr, int nLen)
{
int i;
for (i = 0; i < nLen; i++)
{
cout<<pnArr[i]<<" ";
}
cout<<endl;
}
//从小到大排序
void InsertSort(int *pnArr, int nLen)
{
int i, j;
for (i = 1; i < nLen; i++)
{
int nTmp = pnArr[i];
for (j = i; j > 0 && pnArr[j - 1] > nTmp; j--)
{
pnArr[j] = pnArr[j-1];
}
pnArr[j] = nTmp;
}
}
int main()
{
int nArr[N] = {0};
int i;
srand(time(NULL));
for (i = 0; i < N; i++)
{
nArr[i] = rand() % 100;
}
InsertSort(nArr, N);
PrintArr(nArr, N);
return 0;
}
c++直接插入排序
最新推荐文章于 2023-12-26 00:03:54 发布