Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** p17 legaturi lista inversate*/
- #include<iostream>
- using namespace std;
- class Lista;
- class Nod{
- private:
- int info;
- Nod *next;
- public:
- Nod(int info = 0, Nod *next=NULL){
- this->info=info;
- this->next-next;
- }
- int getInfo(){
- return info;
- }
- friend class Lista;
- };
- class Lista{
- private:
- Nod *prim;
- Nod *ultim;
- public:
- Lista(){
- prim=ultim=NULL;
- }
- void adaugaLaSfarsit(int info);
- void afisare();
- void inversareLista();
- };
- void Lista::adaugaLaSfarsit(int info){
- Nod *p=new Nod(info);
- if(prim==NULL){
- prim=ultim=p;
- }else{
- p->next=NULL;
- ultim->next=p;
- ultim=p;
- }
- }
- void Lista:: afisare(){
- Nod *p=prim;
- cout<<"[";
- while(p!=NULL){
- cout<<p->info<<" ";
- p=p->next;
- }
- cout<<"]";
- }
- void Lista::inversareLista(){
- Nod *r, *p, *q;
- r=NULL;
- p=prim;
- q=NULL;
- ultim=p;
- while(p!=NULL){
- q=p->next;
- p->next=r;
- r=p;
- p=q;
- }
- prim=r;
- }
- int main(){
- Lista lista;
- lista.adaugaLaSfarsit(1);
- lista.adaugaLaSfarsit(2);
- lista.adaugaLaSfarsit(3);
- lista.adaugaLaSfarsit(4);
- lista.adaugaLaSfarsit(5);
- lista.afisare();
- lista.inversareLista();
- lista.afisare();
- lista.adaugaLaSfarsit(6);
- lista.afisare();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement