Algoritma pemilihan adalah salah satu algoritma pengurutan sederhana yang bekerja dengan cara mencari elemen terkecil dari array dan menukarnya dengan elemen pertama. Kemudian, mencari elemen terkecil kedua dari sisa array dan menukarnya dengan elemen kedua, begitu seterusnya. Proses ini berlanjut hingga seluruh array terurut.

Langkah-langkah Algoritma:
- Mulai dari elemen pertama, cari elemen terkecil dalam array.
- Tukar elemen terkecil tersebut dengan elemen pertama.
- Lanjutkan ke elemen berikutnya (elemen kedua) dan cari elemen terkecil di sisa array.
- Tukar elemen terkecil tersebut dengan elemen kedua.
- Ulangi proses di atas hingga seluruh array terurut.
Contoh Kasus:
Misalkan kita memiliki array sebagai berikut: {64, 25, 12, 22, 11}. Dengan menerapkan algoritma pemilihan, array tersebut akan diurutkan menjadi {11, 12, 22, 25, 64}.
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// Tukar elemen terkecil dengan elemen pertama
temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Array sebelum pengurutan: ");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
selectionSort(arr, n);
printf("Array setelah pengurutan: ");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}