Skip to content

Instantly share code, notes, and snippets.

@AdrianCert
Created November 21, 2019 10:59
Show Gist options
  • Save AdrianCert/2897c99791ec7f9c37ce3bd8100a2cc8 to your computer and use it in GitHub Desktop.
Save AdrianCert/2897c99791ec7f9c37ce3bd8100a2cc8 to your computer and use it in GitHub Desktop.

Revisions

  1. AdrianCert created this gist Nov 21, 2019.
    64 changes: 64 additions & 0 deletions linked_list.cpp
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,64 @@
    #include <iostream>
    #include <cstdlib>


    class Node
    {
    public:
    Node* next;
    int data;
    };

    using namespace std;

    class LinkedList
    {
    public:
    int length;
    Node* head;

    LinkedList();
    ~LinkedList();
    void add(int data);
    void print();
    };

    LinkedList::LinkedList(){
    this->length = 0;
    this->head = NULL;
    }

    LinkedList::~LinkedList(){
    std::cout << "LIST DELETED";
    }

    void LinkedList::add(int data){
    Node* node = new Node();
    node->data = data;
    node->next = this->head;
    this->head = node;
    this->length++;
    }

    void LinkedList::print(){
    Node* head = this->head;
    int i = 1;
    while(head){
    std::cout << i << ": " << head->data << std::endl;
    head = head->next;
    i++;
    }
    }

    int main(int argc, char const *argv[])
    {
    LinkedList* list = new LinkedList();
    for (int i = 0; i < 100; ++i)
    {
    list->add(rand() % 100);
    }
    list->print();
    std::cout << "List Length: " << list->length << std::endl;
    delete list;
    return 0;
    }