Diferente pentru deque-si-aplicatii intre reviziile #7 si #8

Nu exista diferente intre titluri.

Diferente intre continut:

La final, când se vor termina operaţiile, cărţilor de pe raft li se vor adăuga cele din deque şi se va afişa soluţia. În cazul presupus, soluţia va fi: $E B A D C$.
Pentru a înţelege cum se folosesc funcţiile membru ale clasei std::deque, am adăugat o parte din cod:
 
== code(cpp) |
    deque <string> deq;        // dequeul
    vector <string> res;       // rezultatul
 
    int rotated = 0;           // iniţial, secvenţa nu este rotită
 
    for (int i = 0; i < M; ++ i) {
        if (deq.size() > K) {
            if (rotated == false) {
                for (; deq.size() > K; deq.pop_back())
                    res.push_back( deq.back() );
            }
            else {
                for (; deq.size() > K; deq.pop_front())
                    res.push_back( deq.front() );
            }
        }
 
        if (s-a citit "ROTATE")
            rotated = !rotated;
        else           // name conţine numele cărţii ce se va adăuga
            rotated == false ? deq.push_front( name ) : deq.push_back( name );
    }
 
    if (rotated == false) {
        for (; deq.size() > 0; deq.pop_back())
            res.push_back( deq.back() );
    }
    else {
        for (; deq.size() > 0; deq.pop_front())
            res.push_back( deq.front() );
    }
==
 
Întrucât operaţiile unui deque se execută în $O(1)$ amortizat, soluţia are complexitatea $O(N + M)$.
h3. 'Sir':problema/sir

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.