Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct Cvor Tcvor;
- struct Cvor {
- Tcvor *sljedeci;
- char znak;
- };
- void initijalizacija(Tcvor **glava) {
- *glava = NULL;
- }
- //dodaje element na kraj liste
- void dodajElement(Tcvor **glava, char znak) {
- Tcvor *novi;
- novi = (Tcvor *)malloc(sizeof(Tcvor));
- novi->znak = znak;
- novi->sljedeci = NULL;
- if (*glava == NULL) {
- *glava = novi;
- return;
- }
- Tcvor *tekuci;
- tekuci = *glava;
- while (tekuci->sljedeci != NULL)
- tekuci = tekuci->sljedeci;
- tekuci->sljedeci = novi;
- }
- void listanjeListe(Tcvor **glava) {
- Tcvor *tekuci;
- tekuci = *glava;
- while (tekuci != NULL) {
- printf("%c", tekuci->znak);
- tekuci = tekuci->sljedeci;
- }
- }
- void brisanjeElementa(Tcvor **glava, char znak) {
- Tcvor *tekuci;
- Tcvor *prethodni;
- prethodni = tekuci = *glava;
- while (tekuci != NULL) {
- if (tekuci->znak == znak) {
- if (prethodni != tekuci)
- prethodni->sljedeci = tekuci->sljedeci;
- else *glava = tekuci->sljedeci;
- free(tekuci);
- tekuci = prethodni->sljedeci;
- return;
- }
- prethodni = tekuci;
- tekuci = tekuci->sljedeci;
- }
- }
- void brisanjeListe(Tcvor **glava) {
- Tcvor *tekuci;
- while (*glava != NULL) {
- tekuci = *glava;
- *glava = (*glava)->sljedeci;
- free(tekuci);
- }
- }
- int main()
- {
- char znakovi[] = "Darko";
- Tcvor *glava;
- initijalizacija(&glava);
- int i;
- for (i = 0; i < sizeof(znakovi)/sizeof(znakovi[0]); i++)
- dodajElement(&glava, znakovi[i]);
- listanjeListe(&glava);
- brisanjeElementa(&glava, 'r');
- listanjeListe(&glava);
- brisanjeListe(&glava);
- listanjeListe(&glava);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement