Списки: Напишите программу 1

Сообщения
1 471
Реакции
271
Сайт
tehadm.ru

Задача FIFO​

Реализуйте функции для очереди FIFO (First In, First Out (ПЕРВЫЙ пришел, ПЕРВЫЙ вышел)) с помощью списков.
Должны быть данные функции:
  • Push (добавление элемента)
  • Pop (удаление элемента и его возврат)
  • printQueue (печать очереди в одну строку без пробелов)
Функцию main писать не нужно! Писать код вне функций не нужно.
C-подобный:
package main

import (
    "container/list"
    "fmt"
)

func Push(elem interface{}, queue *list.List) {
    // ...
}

func Pop(queue *list.List) interface{} {
    // ...
}

func printQueue(queue *list.List) {
    // ...
}
 
C-подобный:
package main

import (
    "container/list"
    "fmt"
)

func Push(elem interface{}, queue *list.List) {
    queue.PushBack(elem)
}

func Pop(queue *list.List) interface{} {
    elem := queue.Front()
    if elem != nil {
        queue.Remove(elem)
        return elem.Value
    }
    return nil
}

func printQueue(queue *list.List) {
    for elem := queue.Front(); elem != nil; elem = elem.Next() {
        fmt.Print(elem.Value)
    }
}
 
C-подобный:
package main

import (
    "container/list"
    "fmt"
)

func Push(elem interface{}, queue *list.List) {
    queue.PushBack(elem)
}

func Pop(queue *list.List) interface{} {
    elem := queue.Front()
    if queue.Len() > 0 {
        queue.Remove(elem)
    }
    return elem
}

func printQueue(queue *list.List) {
    for elem := queue.Front(); elem != nil; elem = elem.Next() {
        fmt.Print(elem.Value)
    }
}
 
Назад
Верх Низ