23.3k views
0 votes
Write a function which sorts the queue in order from the smallest value to the largest value. This should be a modified version of bubble sort.

User Fskj
by
4.0k points

1 Answer

6 votes

Answer:

#include <iostream>

using namespace std;

void swap(int *a,int *b){ //function to interchange values of 2 variables

int temp=*a;

*a=*b;

*b=temp;

}

void sort(int queue[],int n)

{

int i,j;

for(i=0;i<n;i++) //to implement bubble sort

{

for(j=0;j<n-i-1;j++)

{

if(queue[j]>queue[j+1])

swap(queue[j],queue[j+1]); //to swap values of these 2 variables

}

}

}

int main()

{

int queue[]={6,4,2,9,5,1};

int n=sizeof(queue)/4; //to find length of array

sort(queue,n);

for(int i=0;i<n;i++)

cout<<queue[i]<<" ";

return 0;

}

OUTPUT :

1 2 4 5 6 9

Step-by-step explanation:

In the above code, Queue is implemented using an array and then passed to a function sort, so that the queue can be sorted in ascending order. In the sort function, in each pass 2 adjacent values are compared and if lower index value is greater than the higher one they are swapped using a swap function that is created to interchange the values of 2 variables.

User Johnsyweb
by
3.8k points