#include <iostream>
using namespace std;
typedef struct TreeNode *Huffman;
typedef struct HeapStruct *MinHeap;
#define Maxsize 1000
#define Mindata -1000
int A[] = {
1,2,3,4,5};
int A_length = 5;
struct TreeNode
{
int weight;
Huffman left;
Huffman right;
};
struct HeapStruct
{
Huffman *data;
int size;
int capacity;
};
Huffman Create()
{
Huffman h=new TreeNode;
h->weight = 0;
h->left = NULL;
h->right = NULL;
return h;
}
MinHeap create()
{
MinHeap H= new HeapStruct;
H->size = 0;
H->capacity = Maxsize;
H->data = (Huffman*)malloc(sizeof(struct TreeNode)*(Maxsize + 1));
Huffman h = Create();
h->weight = Mindata;
H->data[0] = h;
return H;
}
void sort(MinHeap H, int i)
{
int parent, child;
int temp = H-