直接包含排序的另一个名称是什么,相同排序的算法是什么?
我一直试图在互联网上搜索,但我没有得到一个直接的答案,但我找不到任何答案。我发现了这种用于直接插入排序的算法,并且在一些书中说它们与直接直接包含排序相同,但我对此表示怀疑,因为这本书是俄语的,所以我想确认(也就是说,如果它是真的或者我可能有翻译错误?)
C++ 中的代码:
int main(int argc, char* argv[])
{
int arr[8] = {27, 412, 71, 81, 59, 14, 273, 87},i,j;
for (j=1; j<8; j++){
if (arr[j] < arr[j-1]) {
//Что бы значение j мы не меняли а работали с i
i = j;
//Меняем местами пока не найдем нужное место
do{
swap(arr[i],arr[i-1]);
i--;
//защита от выхода за пределы массива
if (i == 0)
break;
}
while (arr[i] < arr[i-1]) ;
}
for (i=0;i<8;i++)
cout << arr[i]<< ' ';
cout << '\n';
}
getch();
return 0;
}
结果
27 412 71 81 59 14 273 87
27 71 412 81 59 14 273 87
27 71 81 412 59 14 273 87
27 59 71 81 412 14 273 87
14 27 59 71 81 412 273 87
14 27 59 71 81 273 412 87
14 27 59 71 81 87 273 412