Example #1
0
        private void swap(int a, int b)
        {
            HeapNode temp = new HeapNode();

            temp     = mHeap[a];
            mHeap[a] = mHeap[b];
            mHeap[b] = temp;
        }
Example #2
0
        public HeapNode pop()
        {
            HeapNode result = mHeap[0];

            swap(0, heapSize);
            heapSize--;
            downheap(0);
            return(result);
        }
Example #3
0
        public void init()
        {
            for (int i = 1; i <= n; i++)
            {
                if(i!=s)
                {
                    HeapNode node = new HeapNode(i, Max);
                    mheap.add(node);
                }
            }
            HeapNode nodeS = new HeapNode(s, 0);
            mheap.add(nodeS);

            for (int i = 1; i <= n; i++)
                free[i] = true;


        }
Example #4
0
 public void add(HeapNode node)
 {
     mHeap.Add(node);
     upheap(heapSize);
     heapSize++;
 }