Skip to content
Snippets Groups Projects
Commit d56ceee9 authored by Alrik Appelfeldt's avatar Alrik Appelfeldt
Browse files

Upload New File

parent f89598fa
No related branches found
No related tags found
No related merge requests found
#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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment