-->

I'M Bayu Pradika

Graphic Designer . Web Developer . Programmer

Senin, 05 September 2022

Contoh Program C++ Tentang Insertion Sort Dan Selection Sort

 


Insertion Sort

1. Insertion Sort Secara Ascending

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define MAX 20

void InsertionSort(int arr[]) 

{

 int i, j, key; 

 for (i=1; i<MAX; i++) 

 { 

  key = arr[i]; 

  j = i-1;  

  while(j>=0 && arr[j]>key)

  { 

   arr[j+1] = arr[j]; 

   j--; 

  }

  arr[j+1] = key; 

 }

}

int main ()

{

 int data_awal[MAX], data_urut[MAX]; 

 int i; 

 time_t k1, k2;

 printf("Data sebelum pengurutan : \n"); 

 for(i=0; i<MAX; i++)

 {

  srand(time(NULL) * (i+1)); 

  data_awal[i] = rand() % 100 + 1; 

  printf("%d ", data_awal[i]); 

 }

 printf("\n\nData setelah pengurutan : \n"); 

 for(i=0; i<MAX; i++) 

 data_urut[i] = data_awal[i]; 

 time(&k1); 

 InsertionSort(data_urut); 

 time(&k2); 

 for(i=0; i<MAX; i++)

 printf("%d ", data_urut[i]);

 printf("\n\nWaktu = %ld\n", k2-k1); 

}



2. Selection Sort Secara Ascending

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define MAX 20

void SelectionSort(int arr[])

{

 int i, j, temp, min, min_id;

 i = 10;

 while (i < MAX - 1)

 {

  min_id = i;

  min = arr[i];

  for (j = i + 1; j < MAX; j++)

   if (arr[j] < min)

   {

    min = arr[j];

    min_id = j;

   }

  temp = arr[min_id];

  arr[min_id] = arr[i];

  arr[i] = temp;

  i++;

 }

}

main()

{

 int data_awal[MAX], data_urut[MAX];

 int i;

 time_t k1, k2;

 printf("Sebelum pengurutan : \n");

 for (i = 0; i < MAX; i++)

 {

  srand(time(NULL) * (i + 1));

  data_awal[i] = rand() % 100 + 1;

  printf("%d ", data_awal[i]);

 }

 printf("\n\nSetelah pengurutan : \n");

 for (i = 0; i < MAX; i++)

  data_urut[i] = data_awal[i];

 time(&k1);

 SelectionSort(data_urut);

 time(&k2);

 for (i = 0; i < MAX; i++)

  printf("%d ", data_urut[i]);

 printf("\n\nWaktu = %ld\n", k2 - k1);

}



Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna Veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

0 comments:

Categories

Contact Us

BAYU
+62 896-2690-9619
Kampar, Riau, Indonesia