Saya mencari algoritma pengurutan untuk array int yang tidak mengalokasikan byte apa pun selain ukuran array, dan terbatas pada dua instruksi:
SWAP: menukar indeks berikutnya dengan yang sekarang;
MOVE: memindahkan kursor ke indeks +1 atau -1;
Artinya, Anda tidak dapat menukar indeks yang tidak bertetangga, atau menukar indeks 100
, setelah Anda baru saja menukar indeks 10
. Apa algoritma yang paling efisien - yaitu algoritma yang menggunakan jumlah gerakan total yang lebih sedikit?