int[] array = { 4, 7, 1, 5, 2, 6 };
for (int i = 0; i < array.length; i++)
{
for (int j = i; j > 0 && array[j - 1] > array[j]; j--)
{
array[j] = array[j - 1] + array[j];
array[j - 1] = array[j] - array[j - 1];
array[j] = array[j] - array[j - 1];
}
}
Isihan sisipan, pertukaran di atas tidak menggunakan pembolehubah perantaraan, tetapi terdapat juga masalah, mungkin terdapat limpahan, kerana a=a b boleh menyebabkan limpahan satu lagi cara tanpa pembolehubah perantaraan ialah menggunakan XOR: a=a ^b,b=a^b,a=a^b Kaedah ini tidak sesuai untuk nombor titik terapung Secara ringkasnya, ia hanya digunakan untuk menukar data tanpa sebarang ruang tambahan. . . Fokus masih pada algoritma itu sendiri. .
Gelung bersarang ditulis dalam isihan sisipan, tetapi badan gelung dalam berbeza daripada isihan sisipan.
Isih sisipan, peringkat kedua gelung ialah jika tatasusunan[j-1]>tatasusunan[j], tukar nilai tatasusunan[j] dan tatasusunan[j-1]
Isihan sisipan
Kod ini bermaksud pertukaran, tiada pembolehubah perantaraan diperlukan
Isihan sisipan. Bahagian dalam gelung peringkat kedua bermaksud menukar nilai
Isih sisipan, kod dalam gelung tahap kedua mungkin kelihatan agak kemas, tetapi jika dipermudahkan ia bersamaan dengan:
a = a – b;
* bermaksud pertukaran nilai a dan b Jika anda tidak faham, anda boleh menggantikan nombor tertentu untuk dilihat.