Содержание
- 2. Очередь –линейный список, организованный по принципу первый пришел – последний ушел (FIFO – first in first
- 3. Однонапрвленная struct FIFO { int data; struct FIFO *next; }; Двунаправленная struct FIFO { int data;
- 4. Добавление Удаление Неразрушающий просмотр Очередь
- 5. Создать временный указатель Выделить место Записать данные в информационное поле Указатель next сделать NULL Проверить хвост
- 6. struct FIFO * create(struct FIFO *tail, int x) { struct FIFO *n; n = (struct FIFO
- 7. void create(struct FIFO **head, struct FIFO **tail, int x) { struct FIFO *n; n = (struct
- 8. Если голова не NULL Голова = голова ->next; Вернуть голову Иначе Вернуть NULL Удаление
- 9. struct FIFO *pop(struct FIFO * head) { if (head != NULL) { head = head->next; return
- 10. void pop(struct FIFO **head, struct FIFO ** tail) { if (*head != NULL) { *head =
- 11. Создать временный указатель Временный указатель = голова Пока временный указатель не равен NULL Вывод на экран
- 12. struct FIFO *p = head; while (p != NULL) { printf("%d -->", p->data); p = p->next;
- 13. Создать очередь из натуральных чисел до N. Вывести на экран. Пример 1
- 14. Создать очередь из чисел введенных пользователем. Вывести на экран. Посчитать сумму элементов Пример 2
- 15. Создать очередь из чисел введенных пользователем. Вывести на экран. Удалить первые K чисел Пример 3
- 16. Найти максимальное значение в очереди. Удалить все элементы до/после него Пример 4
- 17. struct FIFO { int data; struct FIFO *next; struct FIFO *prev; }; Очередь двунаправленная
- 18. Добавление Удаление Неразрушающий просмотр Очередь двунаправленная
- 19. Создать временный указатель tmp Выделить место Записать данные в информационное поле Указатель tmp->next сделать NULL Указатель
- 20. struct FIFO * create(struct FIFO *tail, int x) { struct FIFO *n; n = (struct FIFO
- 21. void create(struct FIFO **head, struct FIFO **tail, int x) { struct FIFO *n; n = (struct
- 22. Удаление только с головы! Если голова не NULL голова = голова ->next; голова->prev =NULL; Вернуть голову
- 23. struct FIFO *pop(struct FIFO * head) { if (head != NULL) { head = head->next; head->prev=NULL;
- 24. void pop(struct FIFO **head, struct FIFO ** tail) { if (*head != NULL) { *head =
- 25. С головы: Создать временный указатель Временный указатель = голова Пока временный указатель не равен NULL Вывод
- 26. struct FIFO *p = head; while (p != NULL) { printf("%d -->", p->data); p = p->next;
- 27. Создать двунаправленную очередь из натуральных чисел до N. Вывести на экран. Пример 5
- 29. Скачать презентацию