Skip to content

Instantly share code, notes, and snippets.

@Siunami
Created February 1, 2017 19:49
Show Gist options
  • Save Siunami/a6f97980f84ea83bb2c982903d11642a to your computer and use it in GitHub Desktop.
Save Siunami/a6f97980f84ea83bb2c982903d11642a to your computer and use it in GitHub Desktop.
Merge_two_queues function
Queue Queue::merge_two_queues(Queue & q){
NodePointer queue1 = myFront;
NodePointer queue2 = q.myFront;
Queue newQueue;
while (queue1 != NULL || queue2 != NULL){
if (queue1 == NULL){
newQueue.enqueue(queue2->data);
queue2 = queue2->next;
} else if (queue2 == NULL) {
newQueue.enqueue(queue1->data);
queue1 = queue1->next;
} else if (queue1->data == queue2->data) {
newQueue.enqueue(queue1->data);
newQueue.enqueue(queue2->data);
queue1 = queue1->next;
queue2 = queue2->next;
} else if (queue1->data < queue2->data) {
newQueue.enqueue(queue1->data);
queue1 = queue1->next;
} else if (queue1->data > queue2->data) {
newQueue.enqueue(queue2->data);
queue2 = queue2->next;
}
}
return newQueue;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment