Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Lista
- {
- int z; //Zawartosc
- struct Lista* n;
- } lista;
- lista *Usun(lista *Al, int UsuwanaW)
- {
- while(Al!=0 && Al->z == UsuwanaW) //Tak dlugo jak pierwszy element ma nasza wartosc
- {
- lista *Buf = Al; //Zapamietujemy pierwszy element
- Al = Al->n; //ustawiamy nowy poczatek listy
- free(Buf); //Usuwamy dawny pierwszy element
- }
- if(Al == 0) //Jezeli Al nie istnieje
- return 0; //No to zwaracamy 0;
- lista *Bieg = Al; //Robimy nowa zmienna, by pamietac poczatek listy
- while(Bieg->n != 0) //Dla kazdego elementu w liscie
- {
- if(Bieg->n->z == UsuwanaW) //Jezeli nastepny to nasza wartosc
- {
- lista *Buf = Bieg->n; //Zapamietujemy usuwany element
- Bieg->n = Buf->n; //Usuwamy go z listy zachowujac ciaglasc
- free(Buf); //Usuwamy usuwany element
- }
- else //Inaczej przechodzimy dalej - w innym przypadku samo przejdzie w trakcie usuwania
- Bieg = Bieg->n;
- }
- return Al; //Zwracamy poczatek listy
- }
Advertisement
Add Comment
Please, Sign In to add comment