Skip to content

Commit 817afe8

Browse files
committed
priority queue implemented using array
1 parent 74f3f7d commit 817afe8

1 file changed

Lines changed: 109 additions & 0 deletions

File tree

PriorityQueue/pqusingarr.java

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
import java.util.*;
2+
public class pqusingarr
3+
{
4+
public static void main(String[] args)
5+
{
6+
7+
Scanner sc=new Scanner(System.in);
8+
pq p=new pq();
9+
10+
p.add(3);
11+
p.add(2);
12+
p.add(5);
13+
p.print();
14+
System.out.println();
15+
System.out.println(p.getPeek());
16+
System.out.println(p.isEmpty());
17+
System.out.println("SIZE: "+p.size());
18+
System.out.println(p.remove());
19+
System.out.println("SIZE: "+p.size());
20+
p.print();
21+
22+
23+
}
24+
25+
26+
}
27+
class pq
28+
{
29+
30+
int arr[]=new int[10];
31+
int nitems=0;
32+
33+
public void add(int d)
34+
{
35+
if(nitems==0)
36+
{
37+
arr[0]=d;
38+
nitems++;
39+
return; //istoh bhar aana matlab eh hai
40+
}
41+
int i;
42+
for(i=nitems-1;i>=0;i--)
43+
{
44+
if(d<arr[i]) //jehra apa krya eh ascending h //descending order krn lyi max to min d>arr[i]
45+
{
46+
arr[i+1]=arr[i];
47+
}
48+
else
49+
{
50+
break;
51+
}
52+
53+
}
54+
arr[i+1]=d; // hun i di value ghat gyi eh for toh bhar h
55+
nitems++;
56+
// else
57+
// {
58+
// for(int j=0;j<=i;j++)
59+
// {
60+
// if(d<arr[j])
61+
// {
62+
// arr[i-1]=
63+
64+
// }
65+
// else
66+
// {
67+
// arr[i]=d;
68+
// i++;
69+
// }
70+
// }
71+
72+
// }
73+
}
74+
public void print()
75+
{
76+
for(int j=0;j<nitems;j++)
77+
{
78+
System.out.print(arr[j]+" ");
79+
}
80+
}
81+
82+
public boolean isEmpty()
83+
{
84+
// if(nitems<0)
85+
// return true;
86+
// else
87+
// return false;
88+
return nitems==0; //another thing
89+
90+
}
91+
public int size()
92+
{
93+
return nitems;
94+
}
95+
public int getPeek()
96+
{
97+
return arr[nitems-1];
98+
}
99+
public int remove() //poll
100+
{
101+
// int val=arr[nitems];
102+
// nitems--;
103+
// return val;
104+
return arr[--nitems]; //pre m=minus both things done in one line
105+
}
106+
107+
108+
109+
}

0 commit comments

Comments
 (0)