Showing posts with label Liste. Show all posts
Showing posts with label Liste. Show all posts

Wednesday, March 18, 2015

#6 Levo spregnuta lista

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<malloc.h>

typedef char string10[10];
struct cvor{
        string10 ime_cvora;
        struct cvor *prethodni;
        };
typedef cvor LCVOR;

void lista_ispis(LCVOR *tekuci){
  while (tekuci!=NULL){
    tekuci=tekuci->prethodni;
    printf("%s ",tekuci->ime_cvora);    
   }  
}


main(){

 LCVOR *pocetakListe, *novi;
 char ch[20];
 pocetakListe=NULL;
 printf("\n Unesi sadrzaj liste :\n");

 do{
    scanf("%s",&ch);
    novi = (LCVOR*)malloc(sizeof(LCVOR));
    strcpy(novi->ime_cvora,ch);
    novi->prethodni = pocetakListe;
    pocetakListe=novi;      
       
   }while(strcmp(ch,"kraj")!=0);
 
   printf("Sadrzaj Liste je :\n");
   lista_ispis(pocetakListe);
 
 getch();    
}

Thursday, April 5, 2012

#5 Jednostavna jednostruka lista u C jeziku


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

  struct lista{
         int ocena;
         struct lista * sledeci;
         };
       
         typedef struct lista cvor;
       
 main(){
        cvor * trenutni, *glava;
        int i;
     
        //glava pokazuje na prazan
        glava=NULL;
   // dodajemo 10 elemenata u
   for (i=1;i<=10;i++){
    trenutni= (cvor *) malloc(sizeof(cvor));
    trenutni->ocena=i;
    trenutni->sledeci=glava;
    glava=trenutni;
     
    }
    trenutni = glava;
 
    //ipis ocena
    printf("**************** ispis ocena iz formirane liste ****************\n");
    while(trenutni){
      printf("%d\n",trenutni->ocena);
      trenutni=trenutni->sledeci;              
   }
   getch();
 }

Friday, April 1, 2011

#5 Binarno drvece prvi primer

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

typedef char ime[10];

typedef struct cvor{
         ime lice;
         struct cvor *levo;
         struct cvor *desno;
} BCVOR;
 //funkcija za pisanje
 void pisi(BCVOR *tekuci){
      if(tekuci!=NULL){
        pisi(tekuci->levo);
        printf("%s->",tekuci->lice);
        pisi(tekuci->desno);
      }
  }
 
  void umetni(BCVOR *novi,BCVOR **pkoren){
                   
         if(*pkoren==NULL){
            *pkoren=novi;
            novi->levo=NULL;
            novi->desno=NULL;                 
         }
         else{
          // if(novi->lice<(*pkoren)->lice)
             if (strcmp(novi->lice,(*pkoren)->lice)<0){
                umetni(novi,&(*pkoren)->levo);
             }
            else {
              umetni(novi,&(*pkoren)->desno);   
            }    
         }
       }
 
  main(){
   BCVOR *koren,*novi;
   char osobe[10];
   //pocetak liste je prazan
   koren=NULL; 
     
   printf("\n Unesi imena liste:\n");
  
   while(strcmp(osobe,"KRAJ")!=0)
   {
       novi=(BCVOR *)malloc(sizeof(BCVOR));
       strcpy(novi->lice,osobe);
       umetni(novi,&koren);
       scanf("%s",&osobe);
                                
   } 
      printf("\n\n Sadrzaj drveta je:\n");
      pisi(koren);
 getch();    
}     

Wednesday, March 30, 2011

#5 Lista prvi primer redefinisan

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

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();   
     
}