C ile Shell Sort

26 Ocak 2009 – 15:38

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10000

int main()
{
   int array[N];
   int saniye=time(NULL);
   int rastgelesayi;
   int a;
   
   int i,j,k,yedek;

   time_t basla, bit;
   double fark;
   srand(saniye);

    //Rastgele sayi üretip diziye attik
   for(a=0;a<N;a++)
   {
      rastgelesayi=rand()%10+1;
      array[a]=rastgelesayi;
   }

   //Rastgele diziyi ekranda gösterdik
   printf(”\tdizi\n”);
   
   for(a=0;a<N;a++)
   {
      printf(”%d \t”,array[a]);
   }
   //Diziyi siraliyoruz…
   time (&basla);

   i=(int)N/2 ;
   while(i>0)
   {
      for(j=i;j<N;j++)
      {
         k=j-i;
   
         while(k>0)
         {
            if(array[k]>array[k+i])
            {
               yedek=array[k];
               array[k]=array[k+i];
               array[k+i]=yedek;
               k=k-i;
            }
            else
               k=0;
         }
      }
      if(i==2)   
         i=1;
      else
         i=(int)(i/2);
         
      
   }
   time (&bit);

   //Sirali diziyi ekrana tekrar yazdirdik

      printf(”\n\tyeni dizi\n”);
      
      for(a=0;a<N;a++)
      {
         printf(”%d “,array[a]);
      }
   
      fark = difftime(bit, basla);
      printf(”\n%2lf”,fark+1);
return 0;
}

Bookmark and Share

Post a Comment

Subscribe without commenting