Gsmok

haha

Feb 11th, 2015
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. struct Lista
  2. {
  3. int z; //Zawartosc
  4. struct Lista* n;
  5. } lista;
  6.  
  7. lista *Usun(lista *Al, int UsuwanaW)
  8. {
  9. while(Al!=0 && Al->z == UsuwanaW) //Tak dlugo jak pierwszy element ma nasza wartosc
  10. {
  11. lista *Buf = Al; //Zapamietujemy pierwszy element
  12. Al = Al->n; //ustawiamy nowy poczatek listy
  13. free(Buf); //Usuwamy dawny pierwszy element
  14. }
  15. if(Al == 0) //Jezeli Al nie istnieje
  16. return 0; //No to zwaracamy 0;
  17.  
  18. lista *Bieg = Al; //Robimy nowa zmienna, by pamietac poczatek listy
  19.  
  20. while(Bieg->n != 0) //Dla kazdego elementu w liscie
  21. {
  22. if(Bieg->n->z == UsuwanaW) //Jezeli nastepny to nasza wartosc
  23. {
  24. lista *Buf = Bieg->n; //Zapamietujemy usuwany element
  25. Bieg->n = Buf->n; //Usuwamy go z listy zachowujac ciaglasc
  26. free(Buf); //Usuwamy usuwany element
  27. }
  28. else //Inaczej przechodzimy dalej - w innym przypadku samo przejdzie w trakcie usuwania
  29. Bieg = Bieg->n;
  30. }
  31.  
  32. return Al; //Zwracamy poczatek listy
  33. }
Advertisement
Add Comment
Please, Sign In to add comment