public void ClearAll()
 {
     HuffmanHead  = null;
     HCode        = null;
     HCodeCounter = 0;
     Weight       = 0;
     InputData    = null;
     heapTree     = null;
 }
        private void button1_Click(object sender, EventArgs e)
        {
            heapTree     = null;
            HCode        = null;
            HuffmanHead  = null;
            HCodeCounter = 0;
            if (FreeSpace(richTextBox1.Text) == "")
            {
                MessageBox.Show("Text Box is empty!!! Please fill it");
                return;
            }
            doing();
            heapTree = new HeapTree();
            foreach (var item in InputData)
            {
                Node ExtensionNode = new Node(item.Abundance, item.c);
                heapTree.InsertNode(ExtensionNode);
            }
            Node T = heapTree.Head;

            while (heapTree.NodeCounter > 1)
            {
                Node NewNode = new Node(0, ' ');
                NewNode.LeftChildeHuffman  = heapTree.RemoveNode();
                NewNode.RightChildeHuffman = heapTree.RemoveNode();
                NewNode.Value = NewNode.LeftChildeHuffman.Value + NewNode.RightChildeHuffman.Value;
                heapTree.InsertNode(NewNode);
            }
            HuffmanHead = heapTree.RemoveNode();
            HCode       = new string[listBox1.Items.Count];
            HCodeCreator(HuffmanHead, "");
            listBox2.Items.Clear();
            for (int i = 0; i < HCode.Length; i++)
            {
                string Temp = "" + HCode[i][((HCode[i].Length) - 1)];
                Temp += " = ";
                for (int j = 0; j < HCode[i].Length - 1; j++)
                {
                    Temp += HCode[i][j];
                }
                listBox2.Items.AddRange(new object[] { Temp });
            }
            pictureBox1.Image = CreateImage(HuffmanHead);
        }