Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** p18 lista stergere pare*/
- #include<iostream>
- using namespace std;
- class Lista;
- class Nod{
- private:
- int info;
- Nod * next;
- public:
- Nod(int info=0, Nod *p=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 stergerePare();
- };
- 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:: stergerePare(){
- while(prim!=NULL && prim->info%2==0){
- Nod *temp=prim;;
- prim=prim->next;
- delete temp;
- }
- if(prim!=NULL){
- Nod *p=prim;
- Nod *q=p->next;///ordinea este p,q
- while(q!=NULL){
- if(q->info%2==0){
- p->next=q->next;
- delete q;
- q=p->next;
- }else{
- p=q;
- q=q->next;
- }
- }
- }
- }
- int main(){
- Lista lista;
- lista.adaugaLaSfarsit(8);
- lista.adaugaLaSfarsit(2);
- lista.adaugaLaSfarsit(10);
- lista.adaugaLaSfarsit(4);
- lista.adaugaLaSfarsit(11);
- lista.adaugaLaSfarsit(6);
- lista.afisare();
- lista.stergerePare();
- lista.afisare();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement