Rewrite the following code, making MergeLists a linked member function of the So
ID: 3561177 • Letter: R
Question
Rewrite the following code, making MergeLists a linked member function of the Sorted List ADT.
--------------------
void MergeLists(SortedType list1, SortedType list2,
SortedType& result)
{
int length1;
int length2;
int counter1 = 1;
int counter2 = 1;
ItemType item1;
ItemType item2;
length1 = list1.LengthIs();
length2 = list2.LengthIs();
list1.ResetList();
list2.ResetList();
list1.GetNextItem(item1);
list2.GetNextItem(item2);
result.MakeEmpty();
while (counter1 <= length1 && counter2 <= length2)
switch (item1.ComparedTo(item2))
{
case LESS : result.InsertItem(item1);
if (counter1 < length1)
list1.GetNextItem(item1);
counter1++;
break;
case GREATER: result.InsertItem(item2);
if (counter2 < length2)
list2.GetNextItem(item2);
counter2++;
break;
}
for (; counter1 <= length1; counter1++)
{
result.InsertItem(item1);
if (counter1 < length1)
list1.GetNextItem(item1);
}
for (; counter2 <= length2; counter2++)
{
result.InsertItem(item2);
if (counter2 < length2)
list2.GetNextItem(item2);
}
}
------------------------------
Explanation / Answer
#include void MergeLists(SortedType list1, SortedType list2, SortedType& result) { int length1; int length2; int counter1 = 1; int counter2 = 1; ItemType item1; itemType item2; length1 = list1.lengthIs(); length2 = list2.lengthIs(); list1.ResetList(); list2.ResetList(); list1.GetNextItem(item1); list1.GetNextItem(item2); result.MakeEmpty(); while( counter1Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.