Return to Snippet

Revision: 60470
at November 10, 2012 02:26 by msestak2


Initial Code
struct elementtype{
	int sifra;
	char naziv[30];
	char vrsta[30];
	float cijena;
	struct{
		int dan, mjesec, godina;
	}datum_dostave;
};

struct lis {
	elementtype value;
	lis *next;
};

typedef lis *element;
typedef lis list;

void DeleteAllL(list* L){
	while(L->next){
		element toDelete = L->next;
		if(L->next){
			L->next = toDelete->next;
			delete toDelete;
		}
	}
	delete L;
	L = NULL;
}


list* InitL(list* L){
	if(L!=NULL)
		DeleteAllL(L);
	else{
		list *newList = new list;
		newList->next = NULL;
		return newList;
	}
	return NULL;
}

element FirstL(list* L){
	return L;
}

element EndL(list* L){
	element current = L;
	while(current->next){
		current = current->next;
	}
	return current;
}

element NextL(element p, list *L){
	if(p!=NULL){
		if(p==EndL(L)){
			return NULL;
		}
		return p->next;
	}
	return EndL(L);
}

element PreviousL(element p, list *L){
		element current = L;
		while(current){
			if(current->next == p )
				return current;
			current = current->next;
		}
		return NULL;
}

element LocateL(elementtype el, list* L){
	element current = L;
	while(current->next){
		if(current->next->value.sifra == el.sifra)
			return current;
		current = current->next;
	}
	return NULL;
}

void InsertL(elementtype el, element p, list* L){
	if(p==NULL)
		return;
	else{
		element novi = new lis;
		novi->value = el;
		novi->next = p->next;
		p->next = novi;
	}
}

void DeleteL(element p, list* L){
	element toDelete = p->next;
	if(toDelete){
		p->next = toDelete->next;
		delete toDelete;
	}
}

elementtype RetrieveL(element p, list* L){
			return p->next->value;
}

Initial URL


Initial Description
U ovoj biblioteci su definirane funkcije za izvršavanje operacija nad ATP listom: iniciranje prazne liste(InitL), funkcije koje vraćaju pozicije prvog i zadnjeg elementa(FirstL i EndL), funkcija za umetanje elementa(InsertL), funkcija koja vraća vrijednost elementa na nekoj poziciji(RetrieveL) te funkcije za brisanje pojedinog elementa(DeleteL) ili cijele liste(DeleteAllL).

Initial Title
Lista_pokazivaci.h

Initial Tags


Initial Language
C++