Postingan

Menampilkan postingan dari Mei, 2021

QUEUE DINAMIS

  #include <stdio.h> #include <stdlib.h> typedef struct element {     int data;     struct element * next; }element; typedef struct {     element * top;     element * tail; }queue; void empty(queue * s) {     s->top = NULL; } void push(int data,queue *q) {     element * baru = (element*)malloc(sizeof(element));     baru->data = data;     baru->next  = NULL;     if(q->top == NULL)     {         q->top = baru;     }else     {        q->tail->next  = baru;     }    q->tail = baru; } void pop(queue * q) {     printf("%d",q->top->data);     q->top = q->top->next; } int main() {     queue  s;     empty(&s);     push(11,&s);     push(12,&s);     pop(&s);   ...

Ala ala stack dinamis

 #include <stdio.h> #include <stdlib.h> typedef struct element {     int data;     struct element * next; }element; typedef struct {     element * top; }stack; void empty(stack * s) {     s->top = NULL; } void push(int data,stack *s) {     element * baru = (element*)malloc(sizeof(element));     baru->data = data;     baru->next  = NULL;     if(s->top == NULL)     {         baru->next = NULL;     }else     {         baru->next = s->top;     }     s->top = baru; } void pop(stack * s) {     printf("%d",s->top->data);     s->top = s->top->next; } int main() {     stack s;     empty(&s);     push(11,&s);     push(12,&s);     pop(&s);     pop(&s); }

Struktur Data -> Hashing and Chaining

 #include <stdio.h> #include <stdlib.h> #include <string.h> #define max 5 typedef struct element  {     char data[100];     struct element * next; }element; element * chain[max]; void init() {     int i;     for(i=0;i<max;i++)     {         chain[i] = NULL;     } } void insert(char data[100]) {     element * bantu;     bantu = (element*)malloc(sizeof(element));     strcpy(bantu->data,data);     bantu->next = NULL;     int i,nilai;     nilai = 0;     for(i=0;i<strlen(data);i++)     {         nilai = nilai + (int) data[i];     }     int key;     key = nilai % max;     if(chain[key] == NULL)     {         chain[key] = bantu;     }else     {         element * membant...

Double linkedlist

 #include <stdio.h> #include <stdlib.h> typedef struct element {     int data;     struct element * prev;     struct element * next; }element; element * createdelement(int data) {     element * new  = NULL;     new = (element*)malloc(sizeof(element));     new->data = data;     new->prev = NULL;     new->next = NULL;     return new; } void depan(int data,element ** list) {     element * buat = createdelement(data);     buat->next = (*list);     (*list)->prev = buat;     (*list) = buat; } void tengah(int data,int cari,element * list) {     element * buat = createdelement(data);     element * temp = NULL;     temp = list;     list = buat;     while(temp->data != cari)     {         temp = temp->next;     }     buat->ne...

BUBBLE SORT dalam Python

  arr = [ 25 , 27 , 10 , 8 , 76 , 21 ] def  bubblesort(arr,N):      for  i  in  range( 0 ,N):          for  k  in   range( 5 ,i,- 1 ):                         if (arr[k] < arr[k- 1 ]):                temp = arr[k]                arr[k] = arr[k- 1 ]                arr[k- 1 ] = temp  #pemanggilan bubblesort(arr, 6 ) for  q  in  range( 0 , 5 ):     print(arr[q])

Contoh Selection sort dalam bahasa python untuk Dasprog ITB

  arr = [ 5 , 4 , 3 , 2 , 1 ] def  selectionsort(arr,N):      for  passed  in  range( 0 ,N- 1 ):         minindex = passed           for  j  in  range(passed+ 1 ,N):              if (arr[minindex] > arr[j]):                 minindex = j         tukar = arr[passed]         arr[passed] = arr[minindex]         arr[minindex] = tukar  #pemangilan fungsi selectionsort(arr, 5 ) for  j  in  range( 0 , 5 ):     print(arr[j])

Insertion Sort in Python

arr = [ 5 , 4 , 3 , 2 , 1 ] def  insertion_sort(arr,N):      for  passed  in  range( 1 ,N):             temp = arr[passed]             i = passed- 1              while  (temp < arr[i]  and  (i>= 0 )):                 arr[i+ 1 ] = arr[i]                 i = i- 1             arr[i+ 1 ] = temp #pemangilan fungsi insertion_sort(arr, 5 ) for  j  in  range( 0 , 5 ):     print(arr[j])

Stack postfix

 #include <stdio.h> #include <stdlib.h> #include <ctype.h> //library untuk memanggil isalnum(untuk menganalisa apakah char tersebut berupa huruf atau angka) #define max 100 typedef struct stack  {     char data[max];     int top;      }stack; void push(char data,stack *s) {     if(s->top < max)     {         s->top  = s->top +1;         s->data[s->top] = data;     }else     {         printf("penuh");     } } char pop(stack * s) {     char mencoba1;     mencoba1 = s->data[s->top];     s->top--;     return mencoba1;      } int priority(char x) {     if(x == '(')         return 0;     if(x == '+' || x == '-')         return 1;     if(x == '*' || x == '/')   ...

Soal Analisis Hasil Translate dari Java

Gambar
 #include <stdio.h> #include <stdlib.h> #include <math.h> int main() {     int pion;     int benteng;     int tujuan;     printf("Pion : \n");     scanf("%d",&pion);     printf("benteng : \n");     scanf("%d",&benteng);     printf("tujuan benteng : \n");     scanf("%d",&tujuan);     if(pion == benteng)     {         printf("posisi salah \n");     }else if((abs(benteng - tujuan) % 8 ==0) || abs(benteng - tujuan)<8)     {         if(tujuan == pion)         {             printf("pion mati \n");         }else         {             printf("gerakan legal");         }     }else     {         printf("gerakan ilega...

Bubble Sort (Rinaldi Munir)

 #include <stdio.h> int main() {     int arr[6] = {25,27,10,8,76,21};     int i,k,temp;     for(i=0;i<6;i++)     {         for(k = 5 ;k>=i+1;k--)         {             if(arr[k] < arr[k-1])             {                 temp = arr[k];                 arr[k] = arr[k-1];                 arr[k-1] = temp;             }         }     }     for(i=0;i<6;i++)     {         printf("%d ",arr[i]);     }     return 0; }

Penerapan fungsi rekrusif pada Binary Search

 #include <stdio.h> int ketemu; int arr[10]={50, 67, 70, 75, 78, 80, 82, 83, 89, 90}; void binarysearch(int l,int r,int cari) {     int i;     int j;     i = l;     j = r;     int tengah;     tengah  = (int) (i+j)/2;     ketemu = 0;     if(i<=j)     {         if(arr[tengah] == cari)     {         ketemu = 1;     }     else if(arr[tengah] < cari)     {         binarysearch(tengah+1,j,cari); // rekrusif              }else     {         binarysearch(i,tengah-1,cari); //rekrusif singkatnya fungsi rekrusif adalah fungsi yang memanggil dirinya sendiri)     }              }         } int main() {          binarysearch(0,9,30); ...

Penerapan Binary Search

#include <stdio.h> void binarysearch(int arr[],int cari) {     int i;     int j;     i = 0;     j = 9;     int tengah;     int ketemu;     while(i<=j && ketemu == 0)     {         tengah = (i+j)/2;         if(arr[tengah] == cari)         {             ketemu = 1;         }else if(arr[tengah] > cari)         {             j =  tengah-1;         }else         {           i =   tengah+1;         }     }     if(ketemu == 1)     {         printf("ada, pada index ke-%d",tengah);     } } int main() {     int arr[10]={50, 67, 70, 75, 78, 80, 82, 83, 89, 90};     ...

Pengabungan 2 array dengan pengurutan Selection Sort

 #include <stdio.h> int main() {     int arr1[3] = {3,2,1};     int arr2[3] = {4,6,3};     int arr3[6];     int i;     int j;     for(i= 0;i<3;i++)     {         arr3[i] = arr1[i];     }     for(i=3;i<6;i++)     {         arr3[i] = arr2[i-3];     }      for(i=0;i<6;i++)     {         printf("%d",arr3[i]);     }     printf("\n");     int c;     int v;     int minindex;     int temp;     for(c=0;c<5;c++)     {         minindex = c;         for(v = 1+c ;v<6;v++)         {             if(arr3[minindex] > arr3[v])             {              ...

Pengabungan 2 larik array data acak

 #include <stdio.h> int main() {     int arr1[5] = {1,2,3,4,5};     int arr2[3] = {6,7,8};     int arr3[8];     int i;     for(i=0;i<5;i++)     {         arr3[i] = arr1[i];     }     for(i=5;i<8;i++)     {         arr3[i] = arr2[i-5];     }     for(i=0;i<8;i++)     {           printf("%d",arr3[i]);     }   return 0; }

SHELL SORT

 #include <stdio.h> int main() {     int arr[5] = {3,1,5,7,9};     int i;     int j;     int k;     int t;     int a;     for(i=5/2;i>0;i = i/2)     {         for(j = i;j<5;j++)         {             for(k = j-i;k>=0;k = k-i)             {                 if(arr[k+i] >= arr[k])break;                 else                 {                     t = arr[k+i];                     arr[k+i] = arr[k];                     arr[k] = t;                 }            ...

BINARY SEARCH TREE

 #include <stdio.h> #include <malloc.h> int ketemu = 0; typedef struct element {     int data;     struct element * left;     struct element * right; }element; element * createdtree(int data) {     element * buat;     buat = (element*)malloc(sizeof(element));     buat-> data = data;     buat->left = NULL;     buat-> right = NULL; } void insertdata(int data, element **tree) {     if((*tree)==NULL)     {         (*tree)= createdtree(data);              }else if(data >= (*tree)->data)     {         insertdata(data,&(*tree)->right);     }else     {         insertdata(data,&(*tree)->left);     } }     void preorder(element * tree)     {         if(tree == NULL) return;   ...

BINARY SEARCH TREEE

 // Online C compiler to run C program online #include <stdio.h> #include <malloc.h> int ketemu = 0; typedef struct element {     int data;     struct element * left;     struct element * right; }element; element * createdtree(int data) {     element * buat;     buat = (element*)malloc(sizeof(element));     buat-> data = data;     buat->left = NULL;     buat-> right = NULL; } void insertdata(int data, element **tree) {     if((*tree)==NULL)     {         (*tree)= createdtree(data);              }else if(data >= (*tree)->data)     {         insertdata(data,&(*tree)->right);     }else     {         insertdata(data,&(*tree)->left);     } }     void preorder(element * tree)     {     ...