Mungkin saja kebingungannya adalah karena Anda membandingkan deskripsi pengurutan daftar tertaut dengan deskripsi pengurutan array . Tapi saya tidak bisa yakin, karena Anda tidak mengutip sumber Anda.
Cara termudah untuk memahami algoritme pengurutan adalah dengan mendapatkan deskripsi mendetail tentang algoritme (bukan hal yang tidak jelas seperti "jenis ini menggunakan swap. Di suatu tempat. Saya tidak mengatakan di mana"), dapatkan beberapa kartu remi (5-10 sudah cukup untuk algoritma pengurutan sederhana), dan menjalankan algoritma dengan tangan.
Sortir pilihan: memindai data yang tidak disortir untuk mencari elemen terkecil yang tersisa, lalu menukarnya ke posisi segera setelah data yang diurutkan. Ulangi sampai selesai. Jika mengurutkan daftar, Anda tidak perlu menukar elemen terkecil ke posisinya, Anda dapat menghapus node daftar dari posisi lama dan menyisipkannya di posisi baru.
Jenis penyisipan: ambil elemen segera setelah data yang diurutkan, pindai melalui data yang diurutkan untuk menemukan tempat untuk meletakkannya, dan meletakkannya di sana. Ulangi sampai selesai.
Jenis penyisipan dapat menggunakan swap selama fase "pindai", tetapi tidak harus dan itu bukan cara yang paling efisien kecuali Anda mengurutkan larik dari tipe data yang: (a) tidak dapat dipindahkan, hanya disalin atau ditukar; dan (b) lebih mahal untuk disalin daripada ditukar. Jika penyisipan semacam memang menggunakan swap, cara kerjanya adalah Anda secara bersamaan mencari tempat dan meletakkan elemen baru di sana, dengan berulang kali menukar elemen baru dengan elemen tepat sebelumnya, selama elemen sebelumnya lebih besar dari Itu. Setelah Anda mencapai elemen yang tidak lebih besar, Anda telah menemukan lokasi yang benar dan Anda beralih ke elemen baru berikutnya.