heap veri yapısı 2

#include<stdio.h>
#include<stdlib.h>

int dizi[25],n=0;

void ekle()
{  
 
 int sayi,yer;
 printf("\nbir sayi girin:");
 scanf("%d",&sayi);
 n++;
 yer=n;
 dizi[yer]=sayi;
  
 while(yer>1 && dizi[yer]>dizi[yer/2])
 {
  int temp;
  temp=dizi[yer];
  dizi[yer]=dizi[yer/2];
  dizi[yer/2]=temp;
  yer=yer/2;
 
 
}
 

}

void yazdir()
{
 for(int i=1;i<=n;i++)
  printf("\n%d",dizi[i]);
  
 
 
}
void sil()
{
 dizi[1]=dizi[n];
 n--;
 int yer=1;
 
 while(yer>=1 && dizi[yer]>dizi[2*yer]||dizi[yer]>dizi[2*yer+1])
 {
  if(dizi[yer]>dizi[2*yer])
  {
   int temp=dizi[yer];
   dizi[yer]=dizi[2*yer];
   dizi[2*yer]=temp; 
   yer=2*yer;
  }
  if(dizi[yer]>dizi[2*yer+1])
  {
   
   int temp=dizi[yer];
   dizi[yer]=dizi[2*yer+1];
   dizi[2*yer+1]=temp;
   yer=2*yer+1;
   
   
  }
  
  
  
  } 
 
 
 
 
 
 
 
 
}











main()
{
 
 ekle();
 ekle();
 ekle();
 ekle();
 yazdir();
 sil();
 printf("\nsildikten sonra:");
 yazdir();
 
 
 
 
}
sonraki
« Prev Post
Önceki
Next Post »
Thanks for your comment