Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. ITEM *list_remove (ArrayList *list, int key) {
  2. Node *no = list->firstNode, *tmp;
  3. ITEM *item = NULL;
  4. int i;
  5.  
  6. while (no) {
  7. for (i = 0; i <= no->last; i++)
  8. if (no->items[i]->key == key) {
  9. item = no->items[i];
  10. while (i != no->last) {
  11. no->items[i] = no->items[i+1];
  12. i++;
  13. }
  14. no->last--;
  15. //list->size--;
  16. if (no->last == -1 && last->size != -1) {
  17. list->size--;
  18. if(no == list->firstNode)
  19. list->firstNode = no->next;
  20. else {
  21. tmp = list->firstNode;
  22. while (tmp->next != no)
  23. tmp = tmp->next;
  24. tmp->next = tmp->next->next;
  25. }
  26. }
  27. return item;
  28. }
  29. no = no->next;
  30. }
  31. return NULL;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement