clude // size should not be negative typedef unsigne

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter10: Introduction To Inheritance
Section: Chapter Questions
Problem 2CP
icon
Related questions
Question
Try to do it asap give output screenshots
 
Complete the code, where it says "TO DO"
code:
#ifndef __SLLIST_H__
#define __SLLIST_H__
#include "Node.h"
#include <cassert>
// size should not be negative
typedef unsigned long size_t;
namespace ds {
    template <typename ItemType> class TestDriver; // for autograding; please ignore
    /** Singly linked list. */
    template <typename ItemType>
    class SLList {
        friend class TestDriver<ItemType>; // for autograding; please ignore
        private:
        /** Pointer pointing to the sentinel node. */
        Node<ItemType> *sentinel;
        /** Stores the current size of the list. */
        size_t count;
        public:
        /** Construct a new SLList object. */
        SLList() {
        sentinel = new Node<ItemType>(ItemType(), nullptr);
        count = 0;
        }
        /** Add x at the beginning of the list. */
        void addFirst(ItemType x) {
        count += 1;
        sentinel->next = new Node<ItemType>(x, sentinel->next);
        }
        /** Return the first element. */
        ItemType &getFirst() const {
        assert(sentinel->next != nullptr);
        return sentinel->next->item;
        }
        /** Return the number of elements in list. */
        size_t size() const { return count; }
        /** Append the list with x. */
        void addLast(ItemType x) {
            count += 1;
            Node<ItemType> *p = sentinel;
            while (p->next != nullptr) {
            p = p->next;
            }
        p->next = new Node<ItemType>(x, nullptr);
        }
        SLList(const SLList<ItemType> &other);
        ~SLList();
        ItemType &get(int i) const;
        ItemType removeFirst();
        ItemType removeLast();
    };
    /** Copy constructor. */
    template <typename ItemType>
    SLList<ItemType>::SLList(const SLList<ItemType> &other) {
    // TODO: create a list that is identical to `other`
    }
    /** Destroy the SLList object. */
    template <typename ItemType>
    SLList<ItemType>::~SLList() {
    // TODO:
    }
    /** Return the i-th item in list. */
    template <typename ItemType>
    ItemType &SLList<ItemType>::get(int i) const {
    // TODO:
    }
    /** Delete and return the first item of the list. */
    template <typename ItemType>
    ItemType SLList<ItemType>::removeFirst() {
    // TODO:
    }
    /** Delete and return the last item of the list. */
    template <typename ItemType>
    ItemType SLList<ItemType>::removeLast() {
    // TODO:
    }
} // namespace ds
#endif // __SLLIST_H__
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
ListBox
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,