TheAlgorithms/C++ 1.0.0
All the algorithms implemented in C++
Loading...
Searching...
No Matches
cll Class Reference
Collaboration diagram for cll:
[legend]

Public Member Functions

void display ()
 
void insert_front (int new_data)
 
void insert_tail (int new_data)
 
int get_size ()
 
bool find_item (int item_to_find)
 
int operator* ()
 
void operator++ ()
 

Protected Attributes

nodehead
 
int total
 

Detailed Description

Definition at line 17 of file cll.h.

Constructor & Destructor Documentation

◆ cll()

cll::cll ( )

Definition at line 8 of file cll.cpp.

8 {
9 head = NULL;
10 total = 0;
11}

◆ ~cll()

cll::~cll ( )

Definition at line 13 of file cll.cpp.

13 { /* Desstructure, no need to fill */
14}

Member Function Documentation

◆ display()

void cll::display ( )

Definition at line 17 of file cll.cpp.

17 {
18 if (head == NULL)
19 cout << "List is empty !" << endl;
20 else {
21 cout << "CLL list: ";
22 node *current = head;
23 for (int i = 0; i < total; i++) {
24 cout << current->data << " -> ";
25 current = current->next;
26 }
27 cout << head->data << endl;
28 cout << "Total element: " << total << endl;
29 }
30}
#define endl

◆ find_item()

bool cll::find_item ( int item_to_find)

Definition at line 78 of file cll.cpp.

78 {
79 if (head == NULL) {
80 cout << "List is empty !" << endl;
81 return false;
82 } else {
83 node *current = head;
84 while (current->next != head) {
85 if (current->data == item_to_find)
86 return true;
87 current = current->next;
88 }
89 return false;
90 }
91}

◆ get_size()

int cll::get_size ( )

Definition at line 74 of file cll.cpp.

74{ return total; }

◆ insert_front()

void cll::insert_front ( int new_data)

Definition at line 33 of file cll.cpp.

33 {
34 node *newNode;
35 newNode = new node;
36 newNode->data = new_data;
37 newNode->next = NULL;
38 if (head == NULL) {
39 head = newNode;
40 head->next = head;
41 } else {
42 node *current = head;
43 while (current->next != head) {
44 current = current->next;
45 }
46 newNode->next = head;
47 current->next = newNode;
48 head = newNode;
49 }
50 total++;
51}
struct node { int data; int height; struct node *left; struct node *right;} node
for std::queue
Definition avltree.cpp:13

◆ insert_tail()

void cll::insert_tail ( int new_data)

Definition at line 54 of file cll.cpp.

54 {
55 node *newNode;
56 newNode = new node;
57 newNode->data = new_data;
58 newNode->next = NULL;
59 if (head == NULL) {
60 head = newNode;
61 head->next = head;
62 } else {
63 node *current = head;
64 while (current->next != head) {
65 current = current->next;
66 }
67 current->next = newNode;
68 newNode->next = head;
69 }
70 total++;
71}

◆ operator*()

int cll::operator* ( )

Definition at line 94 of file cll.cpp.

94{ return head->data; }

◆ operator++()

void cll::operator++ ( )

Definition at line 98 of file cll.cpp.

98 {
99 if (head == NULL) {
100 cout << "List is empty !" << endl;
101 } else {
102 node *current = head;
103 while (current->next != head) {
104 current = current->next;
105 }
106 current->next = head->next;
107 head = head->next;
108 }
109 total--;
110}

Member Data Documentation

◆ head

node* cll::head
protected

Definition at line 40 of file cll.h.

◆ total

int cll::total
protected

Definition at line 41 of file cll.h.


The documentation for this class was generated from the following files: