Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct _konyvtar {
- char szerzo[50];
- char cim[50];
- int evszam;
- struct _konyvtar *kov;
- } Konyvek;
- Konyvek *elejere_beszur(Konyvek *lista, Konyvek e){
- Konyvek *temp;
- temp=malloc(sizeof(Konyvek));
- /* bemasoljuk az adatokat.*/
- *temp=e;
- /* ennek a kov mutatoja az eddigi lista eleje */
- temp->kov=lista;
- /* a lista eleje pedig innentol kezdve erre mutat. */
- lista=temp;
- return lista; /* visszaadjuk a hivonak */
- }
- void vegehez_fuz(Konyvek **lista, Konyvek e){
- Konyvek *temp;
- temp=malloc(sizeof(Konyvek));
- *temp=e;
- temp->kov=NULL; /* ez biztos, mert utolso elem lesz. */
- if (*lista==NULL) {
- /* mert ha ures, akkor a lista eleje pointer is valtozik. */
- *lista=temp;
- } else {
- /* ha nem, akkor meg kell keresnunk az utolso elemet */
- Konyvek *futo;
- futo=*lista;
- while (futo->kov!=NULL) /* ha nem NULL, van meg elem */
- futo=futo->kov;
- /* megtalaltuk az utolsot - annak a pointere mostantol erre. */
- futo->kov=temp;
- }
- }
- void kiir(Konyvek *lista)
- {
- Konyvek *futo;
- futo=lista;
- while (futo!=NULL) {
- printf("%s %d\n", futo->cim, futo->evszam);
- futo=futo->kov;
- }
- }
- void felszabadit(Konyvek *lista)
- {
- Konyvek *futo;
- futo=lista;
- while (futo!=NULL) {
- Konyvek *kov;
- kov=futo->kov; /* elmentjuk */
- free(futo); /* felszabaditjuk */
- futo=kov; /* elmentett pointer */
- }
- }
- int main()
- {
- Konyvek e;
- Konyvek *lista=NULL;
- /* A LISTA ELEJERE szurjuk be ennek a masolatat */
- strcpy(e.cim, "Prog 1 Nagy ZH");
- e.evszam=2009;
- /* ez a fuggveny visszaadja az esetleg megvaltozott */
- /* lista eleje mutatot. a mi felelossegunk az ertekadas! */
- lista=elejere_beszur(lista, e);
- /* A LISTA VEGEHEZ FUZZUK ennek a masolatat */
- strcpy(e.cim, "Prog 1 PZH");
- e.evszam=2009;
- /* itt meg mindig ki kell irni a cimkepzest */
- vegehez_fuz(&lista, e);
- /* MINDEN ELEMET KIIRUNK */
- kiir(lista);
- /* MINDEN ELEMET FELSZABADITUNK */
- felszabadit(lista);
- lista=NULL;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement