text: #include <iostream>
  #ifndef SLL_H
  #define SLL_H
  	#include "SLL.h"
  #endif
  #ifndef NODE_H
  #define NODE_H
  	#include "node.h"
  #endif
  using namespace std;
  
  template <class Z>
  class playlist{
  
  	SLL<Z>* pList;
  	
  	//Default constructor
  	public:
  	playlist(){
  		pList = new SLL<Z>;
  	}
  	
  	//Returns a boolean indicating if the song to be entered is already in the list
  	//Returns false if the song is in the list
  	//Returns true if the song is not in the list (and therefore able to be inserted)
  	bool check(Z key){
  		if(pList->search(key) == NULL){
  			//cout << "This song is not in the list" << endl << endl;
  			return true;
  		}
  		else if(pList->search(key) != NULL){
  			//cout << "This song is in the list" << endl << endl;			
  			return false;
  		}	
  	}
  	
  	//Insert a song to the playlist, use the name as the key
  	//Check to see if the song is already entered into the list
  	//If successfully inserted return true, if not false
  	bool insert(Z key, Z name, Z artist, Z length){
  		
  		if(check(key) == true){
  			pList->insert(key, name, artist, length);
  			return true;
  		}
  		return false;
  	}
  	
  	void printList(){
  		
  		cout << "List Size: " << pList->getSize() << endl << endl;
  		if(pList->getHeadPtr() == NULL){
  			cout << "Empty playlist" << endl;
  			return;
  		}
  		
  		Node<Z>* temp = new Node<Z>;
  		temp = pList->getHeadPtr();
  		
  		//cout << "Not empty playlist" << endl;
  		for(int i = 0; i < pList->getSize(); i++){
  			cout << pList->search(temp->key)->name << endl;
  			temp = temp->next;
  		}
  		cout << endl;
  	}	
  };