From d56ceee9ab3bae8d2c6d7d41c65afb5c594ce3b7 Mon Sep 17 00:00:00 2001 From: Alrik Appelfeldt <alrap417@student.liu.se> Date: Wed, 28 Feb 2024 21:13:14 +0000 Subject: [PATCH] Upload New File --- list/linked_list1.cc | 203 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 list/linked_list1.cc diff --git a/list/linked_list1.cc b/list/linked_list1.cc new file mode 100644 index 0000000..c9d2603 --- /dev/null +++ b/list/linked_list1.cc @@ -0,0 +1,203 @@ +#include "linked_list.h" + +//Insert node at head +//skap tom lista + + List::List(): + head{nullptr}, tail{nullptr} + {} + + + + List::~List() { + + if(List_Is_Empty() == false ){ + + Node* my_node = head; + + while (my_node != tail){ + my_node = my_node->next; + delete my_node->previous; + } + delete my_node; + head = nullptr; + tail = nullptr; + list_size = 0; + +} +} + + + bool List::List_Is_Empty(){ + if (head == nullptr) + { + return true; + } + else + { + return false; + } + } + + + //List::Node::Node(int new_value): + // value{new_value} + //{} + + + + + + +//omskriven insert funktion SOM INTE ÄR TESTAD + + +void List::Insert_Node(int insert_value){ + + + if (List_Is_Empty() == true) + { + Node* my_node = new Node(insert_value); + head = my_node; + tail = my_node; + } else { + Node* my_node = head; + if (insert_value <my_node->value) + { + head = new Node(insert_value); + my_node->previous = head; + } else { + while(insert_value >my_node->value && my_node->next !=nullptr) + { + my_node = my_node->next; + + } + if (my_node->value >= insert_value) + { + Node* my_node1 = my_node; + my_node = my_node->previous; + + my_node->next = new Node(insert_value); + my_node1->previous = my_node->next; + } else { + my_node->next = new Node(insert_value); + tail = my_node->next; + + } + + } + } + + list_size++; + } + + + + + + + + /* void List::Insert_Head_Node(int value){ + Node* my_node = new Node(value); + my_node->previous = nullptr; + my_node->next = nullptr; + head = my_node; + tail = my_node; + } + + //insert node at tail + +void List::Insert_Tail_Node(int value){ +Node* my_node = new Node(value); +my_node->previous = tail; +my_node->next = nullptr; +tail->next = my_node; +tail = my_node; +} + + +*/ /*void List::printlist(Node* head){ +Node* traverser = head; +while(traverser != nullptr) { + cout<<traverser->value<<endl; + traverser = traverser->next; +} +} + + +int main() + +{ + +List newlist; + +newlist.Insert_Node(5); +newlist.Insert_Node(3); +newlist.Insert_Node(1); + +newlist.printlist(newlist.head); + +return 0; +} + + +/* + + List::Node* Head; + List::Node* Tail; + + + List::Node* node = new List::Node(); + node->Value = 1; + node->previous = nullptr; + node->next = nullptr; + Head = node; + Tail = node; + +*/ + + + + + + +/*void printlist(List::Node*Head){ +List::Node* Traverser = Head; +while(Traverser != nullptr) { + cout<<Traverser->Value<<endl; + Traverser = Traverser->next; +} + + + +int main() +{ + Link* Head; + Link* Tail; + + +//Insert node at head + Link* link = new Link(); + link->Value = 1; + link->previous = nullptr; + link->next = nullptr; + Head = link; + Tail = link; +insert node at tail + link = new Link(); + link->Value = 1; + link->previous = Tail; + link->next = nullptr; + Tail->next = link; + Tail = link; +// node 3 (same as node 2) + link = new Link(); + link->Value = 1; + link->previous = Tail; + link->next = nullptr; + Tail->next = link; + Tail = link; + +printlist(Head); + +}*/ \ No newline at end of file -- GitLab