Povezane strukture podataka
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Povezane strukture podataka (Poludinami č ke i dinami č ke strukture podataka) PowerPoint PPT Presentation


  • 50 Views
  • Uploaded on
  • Presentation posted in: General

Povezane strukture podataka (Poludinami č ke i dinami č ke strukture podataka). typedef struct cvor_st { struct cvor_st *sledeci; /* ... */ } JCVOR; JCVOR pocetakliste, *pocetak, *tekuci;. pocetakliste. pocetak. tekuci. OP ŠTI OBLIK JEDNOSTRUKO POVEZANE LISTE. pocetak.

Download Presentation

Povezane strukture podataka (Poludinami č ke i dinami č ke strukture podataka)

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

Povezane strukture podataka(Poludinamičke i dinamičkestrukture podataka)


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

typedef struct cvor_st {

struct cvor_st *sledeci;

/* ... */

} JCVOR;

JCVOR pocetakliste, *pocetak, *tekuci;

pocetakliste

pocetak

tekuci

OPŠTI OBLIK JEDNOSTRUKO POVEZANE LISTE

pocetak

pocetakliste

...

tekuci

Jednostruko povezane liste

- skup čvorova povezanih pokazivačima

u jednom smeru.

- svaki čvor je strukturna promenljiva

- lista može da sadrži promenljiv broj čvorova


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

novi = (JCVOR *)malloc(sizeof(JCVOR));

Operacije nad listom

novi

- umetanje čvora u povezanu listu

- brisanje tekućeg čvora iz liste

- pristup čvoru radi čitanja i upisa

tekuci

novi->sledeci = tekuci->sledeci;

novi

tekuci

tekuci->sledeci = novi;

novi

tekuci


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

JCVOR *

umetni_cvor(JCVOR *listp)

{

JCVOR *novi;

novi = (JCVOR *)malloc(sizeof (JCVOR));

if (novi != NULL); {

novi->sledeci = listp->sledeci;

listp->sledeci = novi;

}

return novi;

}

void

brisi_cvor(JCVOR *listp)

{

JCVOR *priv;

priv =listp->sledeci;

listp->sledeci = listp->sledeci->sledeci;

free (priv);

}


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

Ciklične jednostruko povezane liste

pocetak->sledeci = pocetak;


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

Upravljanje memorijom

/*

* strdup.c

*

* Napravi bafer odgovarajuce velicine i kopiraj u njega znakovni niz.

*/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

char *

strdup(const char *niz)

{

char *novi;

novi = (char *)malloc(strlen(niz) + 1);

return novi == NULL ? novi : strcpy(novi, niz);

}

int

main ()

{

char niz [] = "Probni niz!";

char *novi;

printf ("\nPocetni niz : %s", niz);

novi = strdup (niz);

printf ("\nDuplirani niz: %s", novi);

return EXIT_SUCCESS;

}


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

Primer: kartoteka


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

Dvostruko povezane liste

typedef struct dcvor_st {

struct dcvor_st *sledeci, *prethodni;

/* ... */

} DCVOR;

DCVOR pocetakliste, *pocetak, *tekuci;

OPŠTI OBLIK DVOSTRUKO POVEZANE LISTE

pocetak

pocetakliste

...

...

tekuci


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

DCVOR *

umetni_dcvor(DCVOR *listp)

{

DCVOR *novi;

novi = (DCVOR *)malloc(sizeof (DCVOR));

if (novi != NULL); {

novi->prethodni = listp;

novi->sledeci = listp->sledeci;

listp->sledeci ->prethodni = novi;

listp->sledeci = novi;

}

return novi;

}

void

brisi_cvor(DCVOR *listp)

{

listp->prethodni->sledeci = listp->sledeci;

listp->sledeci->prethodni = listp->prethodni;

free (listp);

}


Povezane strukture podataka poludinami ke i dinami ke strukture podataka

Ciklične dvostruko povezane liste

CIKLIČNA LISTA

pocetak


  • Login