Computer Science Consider the code from the DeleteLast() method which removes the last element in a linked list (while also maintaining a tail pointer).   public String DeleteLast()           {               if (head == null) return null;               else if (head == tail)               {                   String tempCargo = head.Cargo;                   head = null;                   tail = null;                                          return tempCargo;               }               else               {                   Node temp = head;                   while (temp.next != tail)                   {                       temp = temp.next;                   }                   String tempCargo = temp.next.Cargo;                   temp.next = null;                   tail = temp;                                     return tempCargo;               }           }   The code can be changed to be recursive by using a recursive method to perform the part of the code that iterates over the list:        public String DeleteLastHelper()           {               if (head == null) return null;               else if (head == tail)               {                   String tempCargo = head.Cargo;                   head = null;                   tail = null;                                          return tempCargo;               }               else return DeleteLastRecursive(head);           }   Q: Write the recursive DeleteLastRecursive method. Test your solution to make sure it performs the same as the iterative version. In C#

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Computer Science

Consider the code from the DeleteLast() method which removes the last element in a linked list (while also maintaining a tail pointer).

 

public String DeleteLast()

 

        {

 

            if (head == null) return null;

 

            else if (head == tail)

 

            {

 

                String tempCargo = head.Cargo;

 

                head = null;

 

                tail = null;                       

 

                return tempCargo;

 

            }

 

            else

 

            {

 

                Node temp = head;

 

                while (temp.next != tail)

 

                {

 

                    temp = temp.next;

 

                }

 

                String tempCargo = temp.next.Cargo;

 

                temp.next = null;

 

                tail = temp;                  

 

                return tempCargo;

 

            }

 

        }

 

The code can be changed to be recursive by using a recursive method to perform the part of the code that iterates over the list:

 

     public String DeleteLastHelper()

 

        {

 

            if (head == null) return null;

 

            else if (head == tail)

 

            {

 

                String tempCargo = head.Cargo;

 

                head = null;

 

                tail = null;                       

 

                return tempCargo;

 

            }

 

            else return DeleteLastRecursive(head);

 

        }

 

Q: Write the recursive DeleteLastRecursive method. Test your solution to make sure it performs the same as the iterative version. In C#

 

 

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY