Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Cirkularni listi

1.
#include<iostream>
using namespace std;
struct node {
int x;
node* next;
};
int main() {
node *L;
L = NULL;
node* temp1 = new node;
temp1->x = 3;
temp1->next = NULL;
L = temp1;
node* temp2 = new node;
temp2->x = 7;
temp2->next = NULL;
temp1->next = temp2;
node* temp3 = new node;
temp3->x = 12;
temp3->next = NULL;
temp2->next = temp3;
while (L != NULL)
cout << L->x;
L = L->next;
}

2. #include<iostream>
using namespace std;
struct node {
int x;
node* next;
};
int main() {
node* temp1 = new node;
temp1->x = 3;
temp1->next = temp1;
node* temp2 = new node;
temp2->x = 7;
temp1->next = temp2;
temp2->next = temp1;
node* temp3 = new node;
temp3->x = 12;
temp2->next = temp3;
temp3->next = temp1;
node* L;
L = temp1;
do {
cout << L->x<<" ";
} while (L != temp1);
}
Double linked list

3. #include<iostream>
using namespace std;
struct node {
int x;
node* next;
node* prev;
};
int main() {
node* temp1 = new node;
temp1->x = 5;
temp1->prev = NULL;
temp1->next = NULL;
node* temp2 = new node;
temp2->x = 15;
temp1->next = temp2;
temp2->prev = temp1;
temp2->next = NULL;
node* temp3 = new node;
temp3->x = 10;
temp2->next = temp3;
temp3->prev = temp2;
temp3->next = NULL;
//za da se ispechatat vo obraten pravec
node* L;
L = temp3;
while (L != NULL)
{
cout << L->x << " ";
L = L->prev;
}

}
Circular double linked list

4. #include<iostream>
using namespace std;
struct node {
int x;
node* next;
node* prev;
};
int main() {
node* temp1 = new node;
temp1->x = 5;
temp1->prev = NULL;
temp1->next = NULL;
node* temp2 = new node;
temp2->x = 15;
temp1->next = temp2;
temp2->prev = temp1;
temp2->next = NULL;
node* temp3 = new node;
temp3->x = 10;
temp2->next = temp3;
temp3->prev = temp2;
temp3->next = NULL;
//za da se ispechatat vo obraten pravec
node* L;
L = temp3;
while (L != NULL)
{
cout << L->x << " ";
L = L->prev;
}

}
Vezhbi:

5.
#include<iostream>
using namespace std;
struct node {
int x;
node* next;
node* prev;

};
int main() {
node* temp1 = new node;
temp1->x = 1;
temp1->prev = NULL;
temp1->next = NULL;
node* temp2 = new node;
temp2->x = 2;
temp1->next = temp2;
temp2->prev = temp1;
temp2->next = NULL;
node* temp3 = new node;
temp3->x = 3;
temp2->next = temp3;
temp3->prev = temp2;
temp3->next = NULL;
//se insertira temp4
node* temp4 = new node;
temp4->x = 4;
temp2->next = temp4;
temp3->prev = temp4;
temp4->prev = temp2;
temp4->next = temp3;
node* L = temp1;
while (L != NULL)
{
cout << L->x << " ";
L = L->next;
}
temp4->next = NULL;
delete temp3;
L = temp4;
while (L != NULL)
{
cout << L->x << " ";
L = L->prev;
}

}
6. #include<iostream>
using namespace std;
struct node {
int x;
node* next;
};
int main() {
node* L;
L = NULL;
node* temp1 = new node;
temp1->x = 10;
temp1->next = NULL;
node* temp2 = new node;
temp2->x = 20;
temp1->next = temp2;
temp2->next = NULL;
node* temp3 = new node;
temp3->x = 30;
temp2->next = temp3;
temp3->next = NULL;
node* temp4 = new node;
temp4->x = 40;
temp3->next = temp4;
temp4->next = NULL;
node* temp5 = new node;
temp5->x= 50;
temp4->next = temp5;
temp5->next = NULL;
L = temp2;
delete temp1;
node* temp6 = new node;
temp6->x = 35;
temp3->next = temp6;
temp6->next = temp4;

L = temp2;
while (L != NULL)
{
cout << L->x<<" ";
L = L->next;
}
}

You might also like