Skip to main content

Priority Queue implementation in java -Arrays

Priority Queue implementation in java -Arrays


Input:- 4,8,1,7,3,5
output:-8,7,5,4,3,1,



package com.problems.heap;

public class Priority_Queue {

 public int[] priority_Queue(int arr[],int N)
 {
  int[] newarray=new int[N];
  
  for(int i=0;i<N;i++)
  {
   System.out.println(i+"priority_Queue"+arr[i]);
   insert(newarray,N,arr[i]);
  }
  return newarray;
 }
 
 //inserting new element in array
 public void insert(int Arr[],int N,int a)
 {
  for(int i=0;i<N;i++)
  {
   System.out.println("insert");
   // search for the correct position in array
   if(a>Arr[i])
   {
    System.out.println("call insertAtThis");
    Arr=insertAtThis(Arr,N,a,i);
    break;
   }
  }
 }
 
 //insert and swap
 public int[] insertAtThis(int arr[],int N,int a,int index)
 {
  System.out.println("insertAtThis");
  System.out.println("index"+index);
  int j=index;
  N=N-1;
  while(N!=index)
  {
   arr[N]=arr[N-1];
   N--;
   
  }
  
  arr[index]=a;
  print(arr);
  return arr;
  
 }
 
 //print function
 public void print(int Elemmm[])
 {
  for(int i=0;i<Elemmm.length;i++)
  {
   
   System.out.print(Elemmm[i]+",");
   
  }
  System.out.println("");
 }
 
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 Priority_Queue func=new Priority_Queue();
  int Elemmm[]={4,8,1,7,3,5};
  System.out.println("");
  System.out.println("priority queue");
  Elemmm=func.priority_Queue(Elemmm, Elemmm.length);
  System.out.println("");
  func.print(Elemmm);
 }

}

Comments

.

Popular posts from this blog

Breadth First Search Implementation in Java

Breadth First Search Implementation in Java For Graph Class Design and DFS implementation please refer to below link:- depth-first-search-implementation-in-java /* 1. Pick a vertex. 2. Get Adjacent Vertex. 3. Insert in queue ( at tail) 4. Remove vertex from queue( head) 5. Do until no vertex left in a queue. */ void searchBFS () { //this is how we define queue using LinkedList Queue < Character > queue = new LinkedList < Character >(); queue . add ( vertexlist [ 0 ]. label ); while (! queue . isEmpty ()) { //element at head (Function in main graph class please use above link) ArrayList adjvertex = getNeighbours ( queue . peek ()); System . out . println ( queue . peek ()); //element removed at head queue . remove (); if ( adjvertex != null ) { for ( int i = 0 ; i < adjvertex . size (); i ++) { //element added at tail queue . add