插入排序,我的理解呢,就是将数组里的值去跟前面对比,放到一个合适的位置而已
void insert(int *arr,int length)
{
int temp;
for (int i = 1; i < length; i++)
{
temp = arr[i];//temp为其中的一个值
for (int j = i - 1; j >= 0; j--) //j--是因为数据是往前对比的,不是向后对比的
{
if (arr[j] > temp) //交换
{
arr[j + 1] = arr[j];
}
else
{
break;
}
arr[j] = temp;
}
}
}
int main()
{
int arr[5] = { 5,3,1,4,2 };
insert(arr, sizeof(arr) / sizeof(int));
for (int i = 0; i < sizeof(arr)/sizeof(int); i++)
{
cout << arr[i] << ",";
}
return 0;
}