Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct {
- char podatak;
- struct element* sl;
- }element;
- element* unos_elem(element** glava, char c){
- element* novi = (element*)malloc(sizeof(element));
- novi->podatak = c;
- novi->sl = NULL;
- if (*glava == NULL){
- *glava = novi;
- return;
- }
- element* tekuci = *glava;
- element* prethodni = *glava;
- while(tekuci != NULL){
- prethodni = tekuci;
- tekuci = tekuci->sl;
- }
- prethodni -> sl = novi;
- }
- void prikaz_elem(element* glava){
- if (glava == NULL){
- printf("Lista je prazna! \n");
- return;
- }
- element* tekuci = glava;
- while(tekuci != NULL){
- printf("%c ",tekuci->podatak);
- tekuci = tekuci->sl;
- }
- printf("\n");
- }
- void bris(element** glava, char c){
- if (*glava == NULL){
- return;
- }
- if ((*glava)->podatak == c){
- *glava = (*glava)->sl;
- return;
- }
- element* prethodni = *glava;
- element* tekuci = *glava;
- while(tekuci != NULL){
- if (tekuci->podatak == c){
- prethodni->sl = tekuci->sl;
- free(tekuci);
- return;
- }
- prethodni = tekuci;
- tekuci = tekuci->sl;
- }
- printf("\n");
- }
- void destrukcijaListeUParKoraka(element* glava){
- element* tek = glava;
- while (glava!=NULL){
- tek = glava;
- glava = tek->sl;
- free(tek);
- }
- }
- int main()
- {
- static element* glava = NULL;
- prikaz_elem(glava);
- unos_elem(&glava, 'o');
- unos_elem(&glava, 'r');
- unos_elem(&glava, 'g');
- prikaz_elem(glava);
- unos_elem(&glava, 'p');
- unos_elem(&glava, 'd');
- prikaz_elem(glava);
- bris(&glava, 'o');
- bris(&glava, 'p');
- prikaz_elem(glava);
- bris(&glava, 'd');
- prikaz_elem(glava);
- destrukcijaListeUParKoraka(glava);
- prikaz_elem(glava);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement