Advertisement
prz-emo

Untitled

Oct 26th, 2014
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #ifndef PERSON_LIST_H
  2.  
  3. #define PERSON_LIST_H
  4. #include "person.h"
  5. #include <iostream>
  6.  
  7. struct person_list {
  8. person* firstItem;
  9. int counter;
  10. };
  11.  
  12. typedef person* person_list_iter;
  13.  
  14. void init_person_list(person_list * list) {
  15. list->firstItem = NULL;
  16. list->counter = 0;
  17. }
  18.  
  19. void add_person(person_list * list, char * name, char * family ) {
  20.  
  21. person *newPerson = new person;
  22.  
  23. newPerson->name = name;
  24. newPerson->family = family;
  25. newPerson->nextPerson = NULL;
  26.  
  27. if(list->counter == 0) {
  28. list->firstItem = newPerson;
  29. }
  30.  
  31. list->counter++;
  32.  
  33. if(list->counter > 1) {
  34. person *currentItem = list->firstItem;
  35.  
  36. while(currentItem->nextPerson) {
  37. currentItem = currentItem->nextPerson;
  38. }
  39.  
  40.  
  41. currentItem->nextPerson = newPerson;
  42. std::cout << list->firstItem->nextPerson << std::endl;
  43. }
  44.  
  45.  
  46. }
  47.  
  48. person_list_iter get_iterator(person_list *list) {
  49. return list->firstItem;
  50. }
  51.  
  52. bool is_valid(person_list_iter iterator) {
  53. return iterator;
  54. }
  55.  
  56. void move_to_next(person_list_iter *iterator) {
  57. *iterator = (*iterator)->nextPerson;
  58. }
  59.  
  60.  
  61.  
  62. void clean(person_list *list) {
  63. person *nextItem = list->firstItem;
  64. person *currentItem = list->firstItem;
  65.  
  66. while(nextItem->nextPerson) {
  67. currentItem = nextItem;
  68. nextItem = nextItem->nextPerson;
  69. delete currentItem;
  70. }
  71. }
  72.  
  73.  
  74. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement