-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsortQueue.cpp
54 lines (47 loc) · 1.18 KB
/
sortQueue.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include<iostream>
#include "queue.h"
using namespace std;
void sortq(Queue q,int size){
//auxiliary Queue
Queue newq;
while(!q.isEmpty()) {
//sorting Queue using selection sort
//taking first element to be minimum
int mini=q.front();
//removing front and decrement size
q.dequeue();
size--;
//now finding minimum element
for(int i=0;i<size;i++) {
int temp=q.front();
q.dequeue();
if(temp<mini){
q.enqueue(mini);
mini=temp;
}
else{
q.enqueue(temp);
}
}
//insert minimum element in auxiliary array
newq.enqueue(mini);
}
}
int main(){
cout << "Enter size of Queue"<<endl;
int size;
cin>>size;
Queue q;
cout<<"\nEnter elements of Queue seperated by spaces"<<endl;
for(int i=0;i<size;i++){
int num;
cin>>num;
q.enqueue(num); // enqueue is defined in queue.h
}
cout<<endl;
//q.printArr();
sortq(q,size);
cout<<"\n Sorted Queue is: ";
q.display(); // display is int the queue.h file
return 0;
}