#1 2011-10-12 23:28:00

michal8m

Administrator

Zarejestrowany: 2011-02-03
Posty: 45
Punktów :   

Stos zad 5

Zaimplementuj kolejke za pomoca dwóch stosów.









#include <iostream>
#include <cstdlib>

using namespace std;

struct elem {
    int dane;
    elem *nast;
};

void push(elem *&stos, int x) {
    elem* e = new elem;
    e->dane = x;
    e->nast = stos;
    stos = e;
}

int pop(elem *&stos) {
    int w = stos->dane;
    elem* d = stos;
    stos = stos->nast;
    delete d;
    return w;
}

int topEl(elem* stos) {
    return stos->dane;
}

int count(elem* stos) {
    int iloscEl = 0;
    while (stos != NULL) {
        iloscEl++;
        stos = stos->nast;
    }
    return iloscEl;
}

bool isEmpty(elem* stos) {
    bool w = true;
    if (count(stos) > 0) {
        w = false;
    }
    return w;
}

void usun(elem* &stos) {
    while (stos != NULL) {
        pop(stos);
    }
}

void addK(elem *&pocz_kolejki, elem *&kon_kolejki, int x) {
    push(kon_kolejki, x);
    if (isEmpty(pocz_kolejki)) {
        while (!isEmpty(kon_kolejki)) {
            push(pocz_kolejki, pop(kon_kolejki));
        }
    }
}

int nextK(elem *&pocz_kolejki, elem *&kon_kolejki) {
    if (isEmpty(pocz_kolejki)) {
        while (!isEmpty(kon_kolejki)) {
            push(pocz_kolejki, pop(kon_kolejki));
        }
    }
    return pop(pocz_kolejki);
}

int firstElK(elem* pocz_kolejki) {
    return pocz_kolejki->dane;
}

bool isEmptyK(elem *pocz_kolejki) {
    return isEmpty(pocz_kolejki);
}

void usunK(elem *&pocz_kolejki, elem *&kon_kolejki) {
    usun(pocz_kolejki);
    usun(kon_kolejki);
}

int main() {
    elem* p = NULL;
    elem* k = NULL;
    system("Pause");
    return 0;
}

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
tusz do drukarki canon kancelaria ultimatum opinie taśmy led producent kompensatory mocy biernej