Radu-Adrian Marcu / Mbed OS SOFT253_GroupA_AssignmentRepo

Dependencies:   LPS25H hts221

Fork of SOFT253_Template_Weather_OS_54 by Stage-1 Students SoCEM

Committer:
FairyMental
Date:
Thu Apr 06 11:07:40 2017 +0000
Revision:
44:b523c9a9dd97
Parent:
43:3983059e0d91
Child:
45:9a33f2bc2b4e
Implemented Delete all / Delete X commands.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
FairyMental 40:ba083993b481 1 #include "LinkedList.h"
FairyMental 40:ba083993b481 2 #include <stdio.h>
FairyMental 40:ba083993b481 3 #include <ctype.h>
FairyMental 40:ba083993b481 4 // constructor
FairyMental 40:ba083993b481 5 LinkedList::LinkedList()
FairyMental 42:b1f29874ab70 6 {
FairyMental 42:b1f29874ab70 7 size = 0;
FairyMental 40:ba083993b481 8 head = NULL;
FairyMental 42:b1f29874ab70 9 }
FairyMental 40:ba083993b481 10
FairyMental 40:ba083993b481 11 void LinkedList::addValueFront(Measure _measure){
FairyMental 40:ba083993b481 12 Node *n = new Node();
FairyMental 40:ba083993b481 13 n->measure = _measure;
FairyMental 40:ba083993b481 14 n->next = head;
FairyMental 40:ba083993b481 15
FairyMental 42:b1f29874ab70 16 head = n;
FairyMental 42:b1f29874ab70 17
FairyMental 42:b1f29874ab70 18 size++;
FairyMental 40:ba083993b481 19 }
FairyMental 42:b1f29874ab70 20 void LinkedList::addValueEnd(Measure _measure)
FairyMental 42:b1f29874ab70 21 {
FairyMental 42:b1f29874ab70 22 if(head == NULL)
FairyMental 40:ba083993b481 23 {
FairyMental 42:b1f29874ab70 24 Node *aux = new Node();
FairyMental 42:b1f29874ab70 25 aux->measure = _measure;
FairyMental 42:b1f29874ab70 26 aux->next = NULL;
FairyMental 42:b1f29874ab70 27 head = aux;
FairyMental 42:b1f29874ab70 28 }
FairyMental 42:b1f29874ab70 29 else
FairyMental 42:b1f29874ab70 30 {
FairyMental 42:b1f29874ab70 31 Node *n = head;
FairyMental 42:b1f29874ab70 32 while(n->next != NULL)
FairyMental 40:ba083993b481 33 {
FairyMental 42:b1f29874ab70 34 n = n->next;
FairyMental 42:b1f29874ab70 35 }
FairyMental 42:b1f29874ab70 36 Node *aux = new Node();
FairyMental 42:b1f29874ab70 37 aux->measure = _measure;
FairyMental 42:b1f29874ab70 38 aux->next = NULL;
FairyMental 42:b1f29874ab70 39 n->next = aux;
FairyMental 40:ba083993b481 40 }
FairyMental 42:b1f29874ab70 41 size++;
FairyMental 40:ba083993b481 42 }
FairyMental 40:ba083993b481 43 Measure LinkedList::popValueFRONT()
FairyMental 40:ba083993b481 44 {
FairyMental 40:ba083993b481 45 Node *n = head;
FairyMental 40:ba083993b481 46 Measure _measure = n->measure;
FairyMental 40:ba083993b481 47
FairyMental 40:ba083993b481 48 head = head->next;
FairyMental 40:ba083993b481 49 delete n;
FairyMental 42:b1f29874ab70 50
FairyMental 42:b1f29874ab70 51 size--;
FairyMental 42:b1f29874ab70 52
FairyMental 40:ba083993b481 53 return _measure;
FairyMental 42:b1f29874ab70 54 }
FairyMental 42:b1f29874ab70 55 void LinkedList::ListAll()
FairyMental 42:b1f29874ab70 56 {
FairyMental 42:b1f29874ab70 57 Node *n = head;
FairyMental 43:3983059e0d91 58 int i = 0;
FairyMental 42:b1f29874ab70 59 while(n->next != NULL)
FairyMental 42:b1f29874ab70 60 {
FairyMental 43:3983059e0d91 61 i++;
FairyMental 43:3983059e0d91 62 printf("%i. T: %f | H: %f | P: %f |\r\n",i ,n->measure.temperature, n->measure.humidity, n->measure.pressure);
FairyMental 42:b1f29874ab70 63 n = n->next;
FairyMental 42:b1f29874ab70 64 }
FairyMental 43:3983059e0d91 65 }
FairyMental 43:3983059e0d91 66 void LinkedList::ListX(int x)
FairyMental 43:3983059e0d91 67 {
FairyMental 43:3983059e0d91 68 Node *n = head;
FairyMental 43:3983059e0d91 69 int i = 0;
FairyMental 43:3983059e0d91 70 while(n->next != NULL && i < x)
FairyMental 43:3983059e0d91 71 {
FairyMental 43:3983059e0d91 72 printf("%i. T: %f | H: %f | P: %f |\r\n",i , n->measure.temperature, n->measure.humidity, n->measure.pressure);
FairyMental 43:3983059e0d91 73 i++;
FairyMental 43:3983059e0d91 74 n = n->next;
FairyMental 43:3983059e0d91 75 }
FairyMental 43:3983059e0d91 76 }
FairyMental 43:3983059e0d91 77 void LinkedList::DeleteAll()
FairyMental 43:3983059e0d91 78 {
FairyMental 43:3983059e0d91 79 while(head->next != NULL)
FairyMental 43:3983059e0d91 80 {
FairyMental 43:3983059e0d91 81 Node *n = head;
FairyMental 43:3983059e0d91 82 head = head -> next;
FairyMental 43:3983059e0d91 83
FairyMental 43:3983059e0d91 84 delete n;
FairyMental 43:3983059e0d91 85
FairyMental 43:3983059e0d91 86 size = 0;
FairyMental 43:3983059e0d91 87 }
FairyMental 43:3983059e0d91 88 }
FairyMental 43:3983059e0d91 89 void LinkedList::DeleteX(int x)
FairyMental 43:3983059e0d91 90 {
FairyMental 43:3983059e0d91 91 int i = 0;
FairyMental 43:3983059e0d91 92 while(head->next != NULL && i < x)
FairyMental 43:3983059e0d91 93 {
FairyMental 43:3983059e0d91 94 Node *n = head;
FairyMental 43:3983059e0d91 95 head = head->next;
FairyMental 44:b523c9a9dd97 96
FairyMental 43:3983059e0d91 97 delete n;
FairyMental 44:b523c9a9dd97 98
FairyMental 44:b523c9a9dd97 99 i++;
FairyMental 43:3983059e0d91 100 }
FairyMental 43:3983059e0d91 101 size -= x;
FairyMental 40:ba083993b481 102 }