Langkah-langkah pengurutan sisip
// asumsikan elemen pertama sudah terurut // pilih elemen yang akan disisip // sisipkan elemen tersebut ke tempat yang sesuai dengan cara menggeser(tukar)
Menerjemahkan algoritma tersebut ke bahasa C
void insertion_sort(int data[], int length) { // asumsikan elemen pertama sudah terurut for (int i = 1; i < length; i++) { // pilih elemen yang akan disisip for (int j = i; j > 0; j--) { // sisipkan elemen tersebut ke tempat yang sesuai // dengan cara menggeser(tukar) if (data[j] < data[j - 1]) { int temp = data[j]; data[j] = data[j - 1]; data[j - 1] = temp; } else { break; } } } }
Program jadi
#include <stdio.h> void insertion_sort(int data[], int length) { for (int i = 1; i < length; i++) { for (int j = i; j > 0; j--) { if (data[j] < data[j - 1]) { int temp = data[j]; data[j] = data[j - 1]; data[j - 1] = temp; } else { break; } } } } int main() { int num; printf("Masukkan banyaknya data: "); scanf("%d", &num); int data[num]; for (int i = 0; i < num; i++) { printf("Data ke-%d: ", i); scanf("%d", &data[i]); } insertion_sort(data, num); for (int i = 0; i < num; i++) { printf("%d ", data[i]); } return 0; }
Post a Comment