Vezana lista: razlika između inačica

Izbrisani sadržaj Dodani sadržaj
m Bot: brisanje 1 međuwiki poveznica premještenih u stranicu d:Q7003418 na Wikidati
m primjer programa, sređivanje teksta
Redak 1:
'''Vezana lista''' (vezani popis) je dinamična [[podatkovna struktura]] koja je dinamična. Predstavljapredstavlja niz [[element|elemenata]].
Elementima vezane [[Lista (računarstvo)|liste]] se pristupa [[slijed]]no, za razliku od [[Polje (matematika)|polja]], gdje se elementima pristupa izravno. Vezana lista je dinamička [[struktura]], jer u njoj za razliku od polja kojemu je broj elemenata obvezno zadan prije nego će se rabiti polje, vezanoj se listi broj elemenata dinamično mijenja.<ref>[http://www.student.foi.hr/~darados/Osnove_programiranja/predavanje7.ppt. Fakultet organizacije i informatike] Danijel Radošević: Osnove programiranja, stranicama pristupljeno 14. rujna 2011.</ref>
 
Element vezane liste ima sadržaj, a osim njega ima još jedan pokazivač. Taj pokazivač pokazuje na taj element, a interpretira ga se kaoi pokazivač na sljedeći element u listi.
Zanimljivo je da vezana lista može biti prazna, odnosno da nema elemenata. Stoga ju se ne zadaje prvim elementom, nego [[pokazivač]]em na prvi element. Strogi uvjet da lista može biti praznom je taj da vrijednost njena pokazivača na prvi element jest NULL.<ref>[http://web.math.hr/~singer/P2_0910/08.pdf PMF - Matematički odjel, Zagreb] Saša Singer: Programiranje 2 - 8. predavanje, stranicama pristupljeno 14. rujna 2011.</ref>
==Primjer programa==
Program stvara veznu listu za "n" cijelih brojeva:
<source lang="c">
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
struct element
{
//svaki element liste sadrži podatak x i pokazivač na slijedeći element *veza
int x;
struct element *veza;
};
struct element *glavni=NULL; /*Glavni pokazivač na početku ima vrijednost NULL jer nema elemenata u listi.*/
struct element *clan;
int n, i;
cout<<"Broj elemenata?"; cin>>n; /*Unosimo broj elemenata liste*/
for (i=0;i<n;i++)
{
clan=(struct element*) malloc (sizeof(element)); /*deklaracija člana liste*/
//zamjena pokazivačkih varijabli
clan->veza=glavni; /*može se zapisati i kao "(*clan).veza=glavni" */
glavni=clan;
cout<<"x="; /*ispisuje x*/
cin>>clan->x; /*može se zapisati i kao "cin>>(*clan).x", unosi vrijednost za x */
}
system("pause"); /*kraj programa*/
}
</source>
 
 
== Izvor ==