최대히프 프로그램 만들다가 ㅠㅠ
올해1살
질문 제목 : 질문 내용 : 오류 1뜨는데어떻게해야할지모르겟어요 ㅠㅠ 도와주세요
#includestdio.h
#includestdlib.h
#define max_element 100
typedef struct{
int heap[max_element];
int heap_size;
}heaptype;
heaptype*createheap()
{
heaptype *h=(heaptype*)malloc(sizeof(heaptype));
h-heap_size=0;
return h;
}
void insertheap(heaptype *h, int item)
{
int i;
h-heap_size=h-heap_size+1;
i=h-heap_size;
while((i!=1)&&(itemh-heap[i/2])){
h-heap[i]=h-heap[i/2];
i/=2;
}
h-heap[i]=item;
}
int deleteheap(heaptype *h);
{
int parent, child;
int item, temp;
item=h-heap[1];
temp=h-heap[h-heap_size];
h-heap_size=h-heap_size-1;
parent=1;
child=2;
while(child=h-heap_size){
if((childh-heap_size)&&(h-heap[child])h-heap[child+1])
child++;
if(temp=h-heap[child])break;
else{
h-heap[parent]=h-heap[child];
parent=child;
child=child*2;
}
}
h-heap[parent]=temp;
return item;
}
void printheap(heaptype *h)
{
int i;
printf(heap);
for(i=1;i=h-heap_size;i++)
printf([%d],h-heap[i]);
}
void main()
{
int i,n,item;
heaptype *heap=createheap();
insertheap(heap,10);
insertheap(heap,45);
insertheap(heap,19);
insertheap(heap,11);
insertheap(heap,96);
printheap(heap);
n=heap-heap_size;
for(i=1;i=n;i++){
item=deleteheap(heap);
printf(\n delete:[%d],item);
}
getchar();
}