#include <iostream>
#include <cstdlib>
#include "LList.h"
#include "bankAccount.h"

using namespace std;

void LList::printLL(){
    Node * curr = head;
    while(curr != NULL){
	cout << curr->data << " ";
	curr = curr->next;
    } 
    cout << endl;
}

void LList::insertInPlace(Node * input){
    Node * curr = head;
    Node *prev = NULL;

    //Node * temp = new Node;
    //temp->data = element;
    //temp->next = NULL;

    while(curr != NULL && 
	  input->data > curr->data) {
	prev = curr;
	curr = curr->next;
    }

    // head == curr == NULL  empty
    if (head == curr && curr == NULL){
	head = input;
    }
    else if (prev == NULL){ //smallest
	head = input;
	input->next = curr;
    }
    // head  prev is Node < input, curr is NULL
    else if (curr == NULL){
	prev->next = input;
    }
    // head  prev is Node < input, curr is Node > input
    else {
	prev->next = input;
	input->next = curr;
    }
}

void LList::insert(Node * input){
    
    //cout << "inside insert, i is " << i << endl;
    Node * temp = head;
    head = input;
    head->next = temp;

    return;
}

void LList::deleteFromFront(){
    Node * temp = head;
    head = head->next;
    delete temp;
}

