This is an old revision of the document!


Programa za kreiranje i štampanje povezane liste

# include <stdio.h> 
# include <stdlib.h> 
 
struct element 
{ 
  int podatak; 
  struct element *sledeci; 
}; 
 
/* funkcija za dodavanje novog elementa na kraj liste */ 
struct element *dodaj(struct element *p, int n) 
{ 
  struct element *pom; 
 
  /* ako je postojeca lista prazna onda se dodaje novi element kao pocetni */ 
  if(p==NULL) 
  { 
    /* kreiranje novog elementa */ 
    p=(struct element *)malloc(sizeof(struct element));  
 
    if(p==NULL) 
    { 
      printf("Greska.\n"); 
      exit(0); 
    } 
 
    /* novom elementu se dodeljuje prosledjeni podatak */ 
    p‐>podatak = n; 
    p‐>sledeci = NULL;  
  } 
  else 
  { 
    pom = p; 
 
    /* prolazi se kroz postojecu listu da bi se dobio pokazivac na poslednji element */ 
    while (pom‐>sledeci != NULL) 
pom = pom‐>sledeci; 
 
    /* kreiranje novog elementa */ 
    pom‐>sledeci = (struct element *)malloc(sizeof(struct element));  
    if(pom‐>sledeci == NULL) 
    { 
      printf("Greska.\n"); 
      exit(0); 
    } 
 
/* novom elementu se dodeljuje prosledjeni podatak, a njegova adresa se upisuje kao link 
prethodnog elementa */ 
    pom = pom‐>sledeci; 
    pom‐>podatak = n; 
    pom‐>sledeci = NULL; 
  } 
  return (p); 
} 
 
/* funkcija za stampanje liste */ 
void stampaj_listu( struct element *p ) 
{ 
  struct element *pom; 
  pom = p; 
  if(p!= NULL) 
  { 
    do 
    { 
      printf("%d\t",pom‐>podatak); 
      pom=pom‐>sledeci; 
    } while (pom!= NULL); 
printf("\n"); 
  } 
  else    printf("Lista je prazna."); 
  printf("\n"); 
} 
 
void main() 
{ 
  int n,i; 
  int x; 
  struct element *glava = NULL ; 
 
  printf("Unesi broj elemenata u listi:\n"); 
  scanf("%d",&n); 
 
  for(i=0;i<n;i++) 
  { 
    printf( "Unesi %d. element:\n", i+1); 
    scanf("%d",&x); 
    glava = dodaj( glava, x ); 
  } 
 
  printf("Kreirana lista je:\n"); 
  stampaj_listu( glava ); 
}

<=Nazad <Pocetak>

 
primer.liste.1323182903.txt.gz · Last modified: 2011/12/06 15:48 by tomislav.mrda
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki