$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Dodavanje u listu

vreme memorija ulaz izlaz
1 s 64 Mb standardni izlaz standardni ulaz

Napisati program koji implementira jednostruko povezanu listu čiji elementi čuvaju jedan ceo broj i sadrži sledeće funkcije:

  1. Element* dodaj_na_kraj(Element* lista, Element* novi)

    Dodaje element novi na kraj jednostruko povezane liste.

  2. Element* dodaj_na_pocetak(Element* lista, Element* novi)

    Dodaje element novi na početak jednostruko povezane liste.

  3. Element* dodaj_na_poziciju(Element* lista, Element* novi, int i)

    Dodaje element novi i-to mesto u listi(indeksiranje kreće od 0) ili na kraj ako to mesto ne postoji

Sve funkcije vraćaju pokazivač na početak liste.

Korisnik unosi ceo broj A, koji predstavlja redni broj funkcije koju zeli da koristi za umetanje elementa u listu, zatim u narednom redu unosi, u zavisnosti od izabrane funkcije, ceo broj B koji zeli da doda u listu i opciono indeks X na koji će postaviti taj ceo broj(ukoliko koristi funkciju dodaj_na_poziciju). Unos prestaje kada korisnik unese 0 za vrednost celog broja A. Na kraju ispisati dobijenu listu.

Napomena: Izbrisati listu iz memorije na kraju programa!

Opis ulaza

Korisnik unosi ceo broj 0<=A<=3 koji predstavlja broj funkcije koji se koristi ili kraj unosa u slučaju da je za A uneta 0. Vrednost A se vezuje po rednom broju funckije u tekstu zadatka:

1 - dodaj_na_kraj(Element* lista, Element* novi)

2 - dodaj_na_početak(Element* lista, Element* novi)

3 - dodaj_na_poziciju(Element* lista, Element* novi, int i)

U zavisnosti od izabrane funkcije u narednom redu se unosi ceo broj B koji se unosi u listu i opciono indeks X, ukoliko je A jednako 3.

Opis izlaza

Ispisuje se dobijena lista.

Primer 1

Ulaz

1
5
2
3
2
2
1
7
3
4 2
0

Izlaz

2 3 4 5 7

Objašnjenje

Prvo je dodat element 5 na kraj liste, zatim element 3 na početak liste, zatim element 2 na početak liste, zatim element 7 na kraj liste i na kraju element 4 na poziciju 2.

Morate biti ulogovani kako biste poslali zadatak na evaluaciju.