Website Summary Files Commits Branches @commit @diff @stats
path: root / Additional / Additional-2023-SI / queue-insertion.cpp
diff options
context:
space:
mode:
Commit7eee5a78005a9a569186d2c8b4b645a818ab9bf1 (patch)
Author
 Stoycho Kyosev <skyosev@192.168.100.17>
2024-10-06 07:04:44 -0400
Committer
 Stoycho Kyosev <skyosev@192.168.100.17>
2024-10-06 07:04:44 -0400
Files84594e0af29cefa5aae76ace5f8eb81484400e31 /Additional/Additional-2023-SI/queue-insertion.cpp
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.tar
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.tar.gz
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.zip
Parent0841635826cb03c0e74cd75ec3c97c4c3b594d8b (diff)
Cleanup
1 files changed, 0 insertions, 109 deletions
-rw-r--r--Additional/Additional-2023-SI/queue-insertion.cpp109
diff --git a/Additional/Additional-2023-SI/queue-insertion.cpp b/Additional/Additional-2023-SI/queue-insertion.cpp
deleted file mode 100644
index f27416a..0000000
--- a/Additional/Additional-2023-SI/queue-insertion.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#include <iostream>
-
-struct Node
-{
- Node* next = nullptr;
- int data = 0;
- Node(int data, Node* next = nullptr) : data(data), next(next){}
-};
-
-struct Queue
-{
- Node* head = nullptr;
- Node* tail = nullptr;
-};
-
-void push(Queue& q, int el)
-{
- if (q.head == nullptr)
- q.head = q.tail = new Node(el);
- else
- {
- Node* newNode = new Node(el);
- q.tail->next = newNode;
-
- q.tail = newNode;
- }
-}
-void pop(Queue& q)
-{
- if (!q.head)
- return;
- Node* toDelete = q.head;
- q.head = q.head->next;
- delete toDelete;
-}
-
-void insert(Queue& q, int el)
-{
- Node* iter = q.head;
-
- while (iter)
- {
- if (iter->data % 10 == el % 10)
- {
- break;
- }
- iter = iter->next;
- }
-
- if (iter)
- {
- Node* newNode = new Node(el);
- newNode->next = iter->next;
- iter->next = newNode;
- }
- else
- {
- if (!q.head)
- {
- Node* newNode = new Node(el);
- q.head = q.tail = newNode;
- }
- else
- {
- Node* newNode = new Node(el);
- q.tail->next = newNode;
- q.tail = newNode;
- }
- }
-}
-
-void print(const Queue& q)
-{
- const Node* it = q.head;
-
- while(it)
- {
- std::cout << it->data << " ";
-
- it = it->next;
- }
-}
-void free(Queue& q)
-{
- while (q.head)
- {
- Node* toDelete = q.head;
- q.head = q.head->next;
-
- delete toDelete;
- }
-
-}
-int main()
-{
- Queue q;
-
- push(q, 1);
- push(q, 2);
- push(q, 4);
- push(q, 8);
- push(q, 16);
-
- insert(q, 12);
-
- print(q);
-
- free(q);
-} \ No newline at end of file