Skip to main content

I'm trying to implement a queue of patients using a heap  (with root smaller than children) but when I print the queue, the queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueueenqueue that doesn't prioritize items? please help with anything

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) {   if(heapArray.length==count)   expand();   heapArray[count] = patient;   count++;   if(count>1)   reorder();  }  // Priority Queue class  .......some code  public void enqueue(ER_Patient patient) {   try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); }    }  // copy content of original's array to a new larger array  private void expand(){   ER_Patient[] tempArray = new ER_Patient[heapArray.length * 8];   for(int i=0;i<=heapArray.length-1;i++) tempArray[i]=heapArray[i];   heapArray = tempArray;  }    // maintain heap property by keeping roots smaller than children  private void reorder(){   ER_Patient temp;   int next = count -1;   temp = heapArray[next];   while((next!=0) && temp.compareTo(heapArray[(next-1)/2])<0){ heapArray[next] = heapArray[(next-1)/2]; next = (next-1)/2; }   heapArray[next] = temp;  } 

I'm trying to implement a queue of patients using a heap(with root smaller than children) but when I print the queue, queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueue that doesn't prioritize items? please help with anything

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) {   if(heapArray.length==count)   expand();   heapArray[count] = patient;   count++;   if(count>1)   reorder();  }  // Priority Queue class  .......some code  public void enqueue(ER_Patient patient) {   try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); }    }  // copy content of original's array to a new larger array  private void expand(){   ER_Patient[] tempArray = new ER_Patient[heapArray.length * 8];   for(int i=0;i<=heapArray.length-1;i++) tempArray[i]=heapArray[i];   heapArray = tempArray;  }  // maintain heap property by keeping roots smaller than children  private void reorder(){   ER_Patient temp;   int next = count -1;   temp = heapArray[next];   while((next!=0) && temp.compareTo(heapArray[(next-1)/2])<0){ heapArray[next] = heapArray[(next-1)/2]; next = (next-1)/2; }   heapArray[next] = temp;  } 

I'm trying to implement a queue of patients using a heap  (with root smaller than children) but when I print the queue, the queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueue that doesn't prioritize items?

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) { if(heapArray.length==count) expand(); heapArray[count] = patient; count++; if(count>1) reorder(); } // Priority Queue class .......some code public void enqueue(ER_Patient patient) { try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); } } // copy content of original's array to a new larger array private void expand(){ ER_Patient[] tempArray = new ER_Patient[heapArray.length * 8]; for(int i=0;i<=heapArray.length-1;i++) tempArray[i]=heapArray[i]; heapArray = tempArray; }   // maintain heap property by keeping roots smaller than children private void reorder(){ ER_Patient temp; int next = count -1; temp = heapArray[next]; while((next!=0) && temp.compareTo(heapArray[(next-1)/2])<0){ heapArray[next] = heapArray[(next-1)/2]; next = (next-1)/2; } heapArray[next] = temp; } 
added 747 characters in body
Source Link
Square-root
  • 883
  • 1
  • 13
  • 25

I'm trying to implement a queue of patients using a heap(with root smaller than children) but when I print the queue, queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueue that doesn't prioritize items? please help with anything

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) { if(heapArray.length==count) expand(); heapArray[count] = patient; count++; if(count>1) reorder(); } // Priority Queue class .......some code public void enqueue(ER_Patient patient) { try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); } }    // copy content of original's array to a new larger array private void expand(){ ER_Patient[] tempArray = new ER_Patient[heapArray.length * 8]; for(int i=0;i<=heapArray.length-1;i++) tempArray[i]=heapArray[i]; heapArray = tempArray; } // maintain heap property by keeping roots smaller than children private void reorder(){ ER_Patient temp; int next = count -1; temp = heapArray[next]; while((next!=0) && temp.compareTo(heapArray[(next-1)/2])<0){ heapArray[next] = heapArray[(next-1)/2]; next = (next-1)/2; } heapArray[next] = temp; } 

I'm trying to implement a queue of patients using a heap(with root smaller than children) but when I print the queue, queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueue that doesn't prioritize items? please help with anything

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) { if(heapArray.length==count) expand(); heapArray[count] = patient; count++; if(count>1) reorder(); } // Priority Queue class .......some code public void enqueue(ER_Patient patient) { try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); } } 

I'm trying to implement a queue of patients using a heap(with root smaller than children) but when I print the queue, queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueue that doesn't prioritize items? please help with anything

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) { if(heapArray.length==count) expand(); heapArray[count] = patient; count++; if(count>1) reorder(); } // Priority Queue class .......some code public void enqueue(ER_Patient patient) { try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); } }    // copy content of original's array to a new larger array private void expand(){ ER_Patient[] tempArray = new ER_Patient[heapArray.length * 8]; for(int i=0;i<=heapArray.length-1;i++) tempArray[i]=heapArray[i]; heapArray = tempArray; } // maintain heap property by keeping roots smaller than children private void reorder(){ ER_Patient temp; int next = count -1; temp = heapArray[next]; while((next!=0) && temp.compareTo(heapArray[(next-1)/2])<0){ heapArray[next] = heapArray[(next-1)/2]; next = (next-1)/2; } heapArray[next] = temp; } 
Source Link
Square-root
  • 883
  • 1
  • 13
  • 25

Heap implementation of priority queue?

I'm trying to implement a queue of patients using a heap(with root smaller than children) but when I print the queue, queue of patients doesn't look prioritized.

Insertion method works fine but it's the enqueue that doesn't prioritize items? please help with anything

// Heap class .....some code //insertion: inserts patients into minimum heap using an array. //expand array as needed and reorder heap to maintain its properties public void insert(ER_Patient patient) { if(heapArray.length==count) expand(); heapArray[count] = patient; count++; if(count>1) reorder(); } // Priority Queue class .......some code public void enqueue(ER_Patient patient) { try { heap.insert(patient); } catch (NoSuchCategoryException exception) { System.out.println("Can't enqueue"); } }