Axborot texnologiyalari va kommunikatsiyalarni rivojlantirish vazirligi muhammad al xorazmiy nomidagi



Yüklə 0,52 Mb.
səhifə10/18
tarix18.11.2022
ölçüsü0,52 Mb.
#69713
1   ...   6   7   8   9   10   11   12   13   ...   18
Axborot texnologiyalari va kommunikatsiyalarni rivojlantirish va

struct Node* prev;
};
void push(struct Node** head_ref, int new_data)
{
struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
new_node->data = new_data;
new_node->next = (*head_ref);
new_node->prev = NULL;
if ((*head_ref) != NULL)
(*head_ref)->prev = new_node;
(*head_ref) = new_node;
}
void insertBefore(struct Node** head_ref, struct Node* next_node, int new_data)
{
if (next_node == NULL) {
printf("the given next node cannot be NULL");
return;
}
struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
new_node->data = new_data;
new_node->prev = next_node->prev;
next_node->prev = new_node;
new_node->next = next_node;
if (new_node->prev != NULL)
new_node->prev->next = new_node;
else
(*head_ref) = new_node;
}
void printList(struct Node* node)
{
struct Node* last;
printf("\nTraversal in forward direction \n");
while (node != NULL) {
printf(" %d ", node->data);
last = node;
node = node->next;
}
printf("\nTraversal in reverse direction \n");
while (last != NULL) {
printf(" %d ", last->data);
last = last->prev;
}
}
int main()
{
struct Node* head = NULL;
push(&head, 7);
push(&head, 1);
push(&head, 4);
insertBefore(&head, head->next, 8);
printf("Created DLL is: ");
printList(head);
getchar();
return 0;
}
Labarotoriya ishlari uchun topshiriqlar.

  1. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning bosh qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  2. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning o’rta qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  3. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning oxirgi qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  4. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning bosh qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  5. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning o’rta qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  6. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning oxirgi qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  7. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning bosh qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.

  8. Doubly linked list (ikki bog’langan ro’yxat) asosida ixtiyoriy N qiymatdagi sonlar to’plami kiritilsin. Dasturning o’rta qismiga yangi node kiritilsin va natijalar ekranga chiqarilsin.


  9. Yüklə 0,52 Mb.

    Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   ...   18




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin