Isihan pilihan ialah algoritma agresif yang digunakan untuk mencari nombor terkecil daripada tatasusunan dan meletakkannya di kedudukan pertama. Tatasusunan seterusnya yang akan dilalui akan bermula pada indeks, berhampiran dengan tempat nombor terkecil diletakkan.
Pilih elemen terkecil pertama dalam senarai elemen dan letakkan di kedudukan pertama.
Ulangi operasi yang sama untuk baki elemen dalam senarai sehingga semua elemen diisih.
Pertimbangkan senarai berikut -
a[2]
a[3]
a[4]
Sm = a[0] = 30 Sm
Kedua # 🎜🎜#< sm $square$ $square$ 20<10 (F) $square$ $square 10 美元
10 50 40 30 20
a[2] < sm $segi$ $segi$ 40 <50 (T) $segi$ 40 $segi$#🎜🎜 🎜🎜#a[3] < sm $persegi$ $ persegi$ 30 <40 (T) $persegi$ 30 Tukar a[1] dengan nilai sm
a[4] < sm $persegi $ $persegi$ 20<30 (T) $ persegi$ 20Sm = a[1] = 50 sm
< sm $square$ $ square$ 30 <40 (T) $square$ 30 将 a[1] 与 sm 值交换
< sm $square$ $square$ 20<30 (T) $ 平方$ 20
10 20 40 30 50
Sm = a[2] = 40 Sm
a[4] < persegi$ $persegi$ 30 tukar a[2] dengan nilai sm Terjemahan bahasa Cina ialah:
a[3] < $persegi$ 40a[4] < sm $persegi$ $persegi$ 50<40 (F) $persegi$ $persegi$ 30 Gunakan nilai sm untuk menukar a[2] #🎜🎜 #10 20 30 40 50
kali keempat
Sm = a[3] = 40 Sm
Sila rujuk langkah di bawah untuk memilih dan mengisih.
for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]) sm=j; } t=a[i]; a[i] = a[sm]; a[sm] = t; } }
Contoh
#include<stdio.h> int main(){ int a[50], i,j,n,t,sm; printf("enter the No: of elements in the list:</p><p>"); scanf("%d", &n); printf("enter the elements:</p><p>"); for(i=0; i<n; i++){ scanf ("%d", &a[i]); } for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]){ sm=j; } } t=a[i]; a[i]=a[sm]; a[sm]=t; } printf ("after selection sorting the elements are:</p><p>"); for (i=0; i<n; i++) printf("%d\t", a[i]); return 0; }
enter the No: of elements in the list: 4 enter the elements: 45 12 37 68 after selection sorting the elements are: 12 37 45 68
Atas ialah kandungan terperinci Terangkan proses pengisihan pemilihan dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!