c++插入排序
void InsertSort(int *arr, int n)
{
if (!arr || n <= 1) return;
for (int i=2; i<n; ++i)
{
int tmp = arr[i];
int j=i;
for (; j>0; --j)
{
if (tmp > arr[j-1])
{
arr[j] = arr[j - 1];
}
else
{
break;
}
}
arr[j] = tmp;
}
return;
}
void PrintArr(int *arr, int n)
{
if (!arr || n <= 0 ) return;
for (int i=0; i<n; ++i)
{
std::cout << arr[i] << " ";
}
std::cout << std::endl;
return;
}
int _tmain(int argc, _TCHAR* argv[])
{
std::cout << "hello" << std::endl;
int arr[10] = {10, 5, 9, 4, 8, 3, 7, 2, 6, 1};
PrintArr(arr, sizeof(arr)/sizeof(int));
InsertSort(arr, sizeof(arr)/sizeof(int));
PrintArr(arr, sizeof(arr)/sizeof(int));
system("pause");
return 0;
}