Untuk lebih jelasnya, lihat video berikut ini.
void shellsort(int array[], int n) { // pecah array menjadi 2 buah sub-array for (int i = n / 2; i > 0; i = i / 2) { // urutkan elemen antar sub-array for (int j = i; j < n; j++) { for (int k = j - i; k >= 0; k--) { // bandingkan elemen antar sub-array if (array[k] > array[k + i]) { int temp = array[k]; array[k] = array[k + i]; array[k + i] = temp; } } } } }
Program shellsort
#include <stdio.h> void shellsort(int array[], int n) { // pecah array menjadi 2 buah sub-array for (int i = n / 2; i > 0; i = i / 2) { // urutkan elemen antar sub-array for (int j = i; j < n; j++) { for (int k = j - i; k >= 0; k--) { // bandingkan elemen antar sub-array if (array[k] > array[k + i]) { int temp = array[k]; array[k] = array[k + i]; array[k + i] = temp; } } } } } int main() { int num; printf("Masukkan banyak data: "); scanf("%d", &num); int data[num]; for (int i = 0; i < num; i++) { printf("data ke-%d: ", i); scanf("%d", &data[i]); } shellsort(data, num); for (int i = 0; i < num; i++) { printf("%d ", data[i]); } return 0; }
Post a Comment