Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string>
- #include <iostream>
- using namespace std;
- class Miestas
- {
- private:
- string pav, valst;
- double gyv, plot;
- public:
- Miestas(): pav(""), valst(""), gyv(0.0), plot(0.0) { }
- void Deti(string p, string v, double g, double pl) {
- pav = p; valst = v; gyv = g; plot = pl; }
- string ImtiPav() {return pav;}
- string ImtiValst() {return valst;}
- double ImtiGyv() {return gyv;}
- double ImtiPlot() {return plot;}
- bool operator > (Miestas kitas) { return this->plot > kitas.plot; }
- };
- class Bendras
- {
- private:
- struct Mazgas
- {
- Miestas duom;
- Mazgas *kitas;
- };
- Mazgas *pr, *d;
- void Naikinti();
- public:
- Bendras() { pr = NULL; d = NULL; }
- ~Bendras() { Naikinti(); }
- void Deti(Miestas m);
- void Pradzia() { d = pr; }
- bool Baigti() { return d == NULL; }
- void Kitas() { if(d) d = d->kitas; }
- Miestas Imti() { return d->duom; }
- void Rikiavimas();
- };
- void Bendras::Naikinti() {
- while (pr)
- {
- d = pr;
- pr = pr->kitas;
- delete d;
- }
- }
- void Bendras::Deti(Miestas m) {
- Mazgas *t = new Mazgas;
- t->duom = m;
- t->kitas = pr;
- pr = t;
- }
- void Bendras::Rikiavimas() {
- bool apkeista = true;
- while (apkeista)
- {
- apkeista = false;
- Mazgas *r, *r1;
- r = r1 = pr;
- while (r1)
- {
- if (r1->duom > r->duom)
- {
- Miestas laik = r->duom;
- r->duom = r1->duom;
- r1->duom = laik;
- apkeista = true;
- }
- r = r1;
- r1 = r1->kitas;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement