Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef PERSON_LIST_H
- #define PERSON_LIST_H
- #include "person.h"
- #include <iostream>
- struct person_list {
- person* firstItem;
- int counter;
- };
- typedef person* person_list_iter;
- void init_person_list(person_list * list) {
- list->firstItem = NULL;
- list->counter = 0;
- }
- void add_person(person_list * list, char * name, char * family ) {
- person *newPerson = new person;
- newPerson->name = name;
- newPerson->family = family;
- newPerson->nextPerson = NULL;
- if(list->counter == 0) {
- list->firstItem = newPerson;
- }
- list->counter++;
- if(list->counter > 1) {
- person *currentItem = list->firstItem;
- while(currentItem->nextPerson) {
- currentItem = currentItem->nextPerson;
- }
- currentItem->nextPerson = newPerson;
- std::cout << list->firstItem->nextPerson << std::endl;
- }
- }
- person_list_iter get_iterator(person_list *list) {
- return list->firstItem;
- }
- bool is_valid(person_list_iter iterator) {
- return iterator;
- }
- void move_to_next(person_list_iter *iterator) {
- *iterator = (*iterator)->nextPerson;
- }
- void clean(person_list *list) {
- person *nextItem = list->firstItem;
- person *currentItem = list->firstItem;
- while(nextItem->nextPerson) {
- currentItem = nextItem;
- nextItem = nextItem->nextPerson;
- delete currentItem;
- }
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement