Binary Search

Standard
Source Code in C

 1: Binary Search
 2: #include <stdio.h>
 3: #include <stdlib.h>
 4: void dyadiki_anazitisi_2(int pinakas[],int arxi,int telos,int arithmos,int *plithos_sygriseon,int *thesi_pinaka,int *vrethike);
 5: int main()
 6: {
 7:  int max;
 8:  int arxi;
 9:  int telos;
 10:  int k;
 11:  int i;
 12:  int *x;
 13:  int plithos;
 14:  int thesi;
 15:  int vrethike;
 16:  printf("dose to megethos tou pinaka:");
 17:  scanf("%d",&max);
 18:  x=(int*)malloc(max*sizeof(int));
 19:  printf("dose ta stoixeia tou taksinomimenou pinaka:\n");
 20:  i=0;
 21:  while(i<max)
 22:  {
 23:   printf("\nx[%d]=",i);
 24:   scanf("%d",&x[i]);
 25:   i++;
 26:  }
 27:  printf("dose enan arithmo:");
 28:  scanf("%d",&k);
 29:  plithos=0;
 30:  thesi=0;
 31:  telos=max-1;
 32:  dyadiki_anazitisi_2(x,arxi,telos,k,&plithos,&thesi,&vrethike);
 33:  if(vrethike!=0)
 34:    {
 35:      printf("o arithmos yparxei ston pinaka");
 36:      printf("\no arithmos yparxei stin thesi %d",thesi);
 37:      printf("\nto plithos sygriseon pou eginan einai:%d",plithos);
 38:    }
 39:  if(vrethike==0)
 40:    {
 41:     printf("o arithmos den brethike");
 42:     printf("\nto plithos sygriseon pou eginan einai:%d",plithos);
 43:    }
 44: return 0;
 45: }
 46: 
 47: /*Synartisi anadromikis dyadikis anazitisis*/
 48: 
 49: void dyadiki_anazitisi_2(int pinakas[],int arxi,int telos,int arithmos,int *plithos_sygriseon,int *thesi_pinaka,int *vrethike)
 50: {
 51:  int mesaio;
 52:  *vrethike=0;
 53:  
 54:  if((arxi<=telos) && (*vrethike==0))
 55:  { 
 56:    mesaio=(arxi+telos)/2;
 57:    (*plithos_sygriseon)++;
 58:    if(arithmos==pinakas[mesaio])
 59:    {   
 60:      *vrethike=1; /*Brethike to stoixeio*/
 61:      *thesi_pinaka=mesaio;
 62:    }
 63:    else  /*Den brethike*/
 64:      if(arithmos<pinakas[mesaio])
 65:      {
 66:       dyadiki_anazitisi_2(pinakas,arxi,mesaio-1,arithmos,plithos_sygriseon,thesi_pinaka,vrethike);
 67:      }
 68:      else  /*arithmos>=pinakas[stoixeio]*/
 69:      {
 70:       dyadiki_anazitisi_2(pinakas,mesaio+1,telos,arithmos,plithos_sygriseon,thesi_pinaka,vrethike);
 71:      }
 72:  }
 73:  
 74: }
yeezy boost 350 ua yeezytrainer yeezy boost 350 ua yeezytrainer yeezytrainer yeezy boost 350 ua yeezy boost 350 ua yeezy shoes yeezy shoes yeezy boost online

yeezy 350 boost for sale yeezy boost online yeezy shoes yeezy 350 boost for sale yeezy boost online yeezy shoes yeezy 350 boost for sale yeezy boost online yeezy shoes yeezy 350 boost for sale yeezy boost online yeezy shoes