wczytywanie głowy w liście
Ostatnio zmodyfikowano 2009-05-01 22:05
Tomas Temat założony przez niniejszego użytkownika |
wczytywanie głowy w liście » 2009-04-29 19:58:14 Witam. Od paru dni męczę się z listą i została mi już tylko jedna rzecz, której jakoś nie mogę przejść. Mianowicie chcę, aby głowę z jednej listy przesłać do listy drugiej, oczywiście od strony ogona. Wklejam mój okrojony do minimum kod: #include <iostream.h> #include <list> #include <conio.h>
typedef struct rob { int wartosc; struct rob * next; } ELEMENT;
class KOLEJKA { public: int pusta() { return( inf.glowa == NULL ); } void dodaj( int x ); void wypisz(); KOLEJKA() { inf.glowa = inf.ogon = NULL; } private: typedef struct { ELEMENT * glowa; ELEMENT * ogon; } INFO; INFO inf; };
void KOLEJKA::wypisz() { ELEMENT * q = inf.glowa; if( pusta() ) cout << "(kolejka pusta)"; else while( q != NULL ) { cout << q->wartosc << " "; q = q->next; } cout << "\n"; }
void KOLEJKA::dodaj( int x ) { ELEMENT * q = new ELEMENT; q->wartosc = x; q->next = NULL; if( inf.glowa == NULL ) inf.glowa = inf.ogon = q; else { ( inf.ogon )->next = q; inf.ogon = q; } }
int main() { KOLEJKA K1, K2; int a = 2, b = 3, c = 4; K1.dodaj( a ); K1.dodaj( b ); K1.dodaj( c ); cout << "Kolejka1= "; K1.wypisz(); cout << "Kolejka2= "; getch(); } Bardzo byłbym wdzięczny za kod :) Pozdrawiam. |
|
DeBugger |
» 2009-04-29 20:03:15 Jedno zastrzeżenie: Zamiast: |
|
DejaVu |
» 2009-04-29 20:19:43 int KOLEJKA::dajGlowe() { return inf.glowa->wartosc; }
if( !K1.pusta() ) K2.dodaj( K1.dajGlowe() ); |
|
Tomas Temat założony przez niniejszego użytkownika |
» 2009-05-01 22:05:54 Super. Dziękuję za pomoc :) |
|
« 1 » |