JAVA I TY.....

  • Nie jesteś zalogowany.
  • Polecamy: Gry

#1 2011-10-12 23:29:47

michal8m

Administrator

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

Stos Zad 8

Odwróc porzadek elementów na stosie korzystajac z:
• jednego dodatkowego stosu,
• jednej dodatkowej kolejki.













#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 stos_rev(elem* &stos){
    elem* stos2=NULL;
    while(!isEmpty(stos)){
        push(stos2,pop(stos));
        }
        delete stos;
    stos=stos2;
    }

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











#include <iostream>
#include <cstdlib>

using namespace std;

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

void add(elem *&pocz_kolejki, elem *&kon_kolejki, int x) {
    elem* e = new elem;
    e->dane = x;
    e->nast = NULL;
    if (pocz_kolejki == NULL) {
        pocz_kolejki = e;
    }
    if (kon_kolejki != NULL) {
        kon_kolejki->nast = e;
    }
    kon_kolejki = e;
}

int next(elem *&pocz_kolejki, elem *&kon_kolejki) {
    int w = pocz_kolejki->dane;
    elem* d = pocz_kolejki;
    if (kon_kolejki == pocz_kolejki) {
        pocz_kolejki = NULL;
        kon_kolejki = NULL;
    } else {
        pocz_kolejki = pocz_kolejki->nast;
    }
    delete d;
    return w;
}

bool isEmpty(elem* pocz_kolejki) {
    bool w = false;
    if (pocz_kolejki == NULL) {
        w = true;
    }
    return w;
}

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 count(elem* stos) {
    int iloscEl = 0;
    while (stos != NULL) {
        iloscEl++;
        stos = stos->nast;
    }
    return iloscEl;
}

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

void stos_rev(elem* &stos) {
    elem* p = NULL;
    elem* k = NULL;
    while (!isEmptyS(stos)) {
        add(p, k, pop(stos));
    }
    while (!isEmpty(p)) {
        push(stos, next(p, k));
    }
    delete p;
    delete k;
}

int main() {
    elem* s = 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
końcówki do pipet najlepszy dentysta piaseczno weekend w ciechocinku z zabiegami