Friday, March 25, 2011

#4 Lista prvi primer

#include<stdio.h>
#include<conio.h>
#include<stdio.h>
//ovo je stari C
//#include<alloc.h>
//ovo je za dev C++
#include<stdlib.h>

 typedef char TIP;
 typedef struct cvor_st{
         TIP inf;
         struct cvor_st *sledeci;
} LCVOR;
 //funkcija za pisanje
 void pisi(LCVOR *tekuci){
      while(tekuci!=NULL){
      printf("->%c",tekuci->inf);
      tekuci=tekuci->sledeci;
      }
  }
 
  main(){
   LCVOR *pocetak_liste,*novi;
   char ch;
   //pocetak liste je prazan
   pocetak_liste=NULL;   
   printf("\n Unesi sadrzaj liste:\n");
 
   while((ch=getchar())!='\n')
   {
       novi=(LCVOR *)malloc(sizeof(LCVOR));
       novi->inf=ch;
       novi->sledeci=pocetak_liste;
       pocetak_liste=novi;                        
   }
      printf("Sadrzaj liste je:\n");
      pisi(pocetak_liste);
 getch();   
}   

Wednesday, March 23, 2011

#5 Basic lista dodavanje elementa liste izmedju dva postojeca

#include<stdio.h>
#include<conio.h>
#include<string.h>
//jednostruko spregnuta lista (zatvorena) dodavanje elementa izmedju
struct s_ucenik{
        char ime[20];
       struct s_ucenik  *sledeci; //pokazivac na sledeceg ucenika
       };
      
struct s_ucenik prvi,drugi, umetak;

main(){
      
       //unosim podatke za provog ucenika
       strcpy(prvi.ime,"perica");
       prvi.sledeci=&drugi;
      
       //unosim podatke za drugog ucenika
       strcpy(drugi.ime,"jovica");
       drugi.sledeci=&prvi;
      
       printf("\n drugi.ime %s",prvi.sledeci->ime);
       printf("\n  prvi.ime %s",drugi.sledeci->ime);
      
       //dodavanje podatka u sredinu liste
       strcpy(umetak.ime,"goran umetak:)");
       //umetak pokazuje na drugog uzima podatak iz prvog
       umetak.sledeci=prvi.sledeci;
       //prvi pokazuje na umetak
      prvi.sledeci=&umetak;
     
      //ispis na sta pokazuje umetak
        printf("\n umetak pokazuje na drugi.ime %s",umetak.sledeci->ime);
       printf("\n  prvi pokazuje na umetak.ime %s",prvi.sledeci->ime);
      //ispis na sta pokazuje prvi
      
      
       getch();    
      
}

#5 Basic jednostruko spregnuta (zatvorena) lista

#include<stdio.h>
#include<conio.h>
#include<string.h>
//jednostruko spregnuta lista (zatvorena)
struct s_ucenik{
        char ime[20];
       struct s_ucenik  *sledeci; //pokazivac na sledeceg ucenika
       };
      
struct s_ucenik prvi,drugi;

main(){
      
       //unosim podatke za provog ucenika
       strcpy(prvi.ime,"perica");
       prvi.sledeci=&drugi;
      
       //unosim podatke za drugog ucenika
       strcpy(drugi.ime,"jovica");
       drugi.sledeci=&prvi;
      
       printf("drugi.ime %s",prvi.sledeci->ime);
       printf("prvi.ime %s",drugi.sledeci->ime);
      
       getch();    
      
}

#4 Osnovni minimalni primer jednostruke otvorene liste

#include<stdio.h>
#include<conio.h>
#include<string.h>
// jednostruka lista otvorena
struct s_ucenik{
        char ime[20];
       struct s_ucenik  *sledeci; //pokazivac na sledeceg ucenika
       };
     
struct s_ucenik prvi,drugi;

main(){
     
       //unosim podatke za provog ucenika
       strcpy(prvi.ime,"perica");
       //pokazivac na sledeceg ucenika
       prvi.sledeci=&drugi;
     
       //unosim podatke za drugog ucenika
       strcpy(drugi.ime,"jovica");
       //pokazivac na sledeceg je prazan
       drugi.sledeci=NULL;
     
       printf("drugi.ime %s",prvi.sledeci->ime);
     
       getch();   
     
}