mějme následující proceduru:
procedure VypustCisla(var zacatek : pcislo; A,B : integer);
var ..
begin
..
end;
Dopište tělo procedury tak, aby ze vstupního seznamu vypustila všechna čísla , která jsou větší nebo rovna A a zároveň menší nebo rovna B. Procedura nesmí používat žádná pomocná pole a nesmí volat proceduru new. Cíle by měla dosáhnout v čase O(N) pouze pomocí manipulace s ukazateli.
Např: ze seznamu obsahujícího čísla 1,2,3,4,5,6,7 , A=0 , B=5 by měl udělat seznam 6,7
Offline

↑ SweetNelli:Umíš naprogramovat jednosměrně zřetězený seznam?
Přidávání prvků je popsáno zde: http://rosettacode.org/wiki/Singly-Link … sertion%29
Odebírání prvků naimplementuješ analogicky.
Offline
↑ Kondr:
hlavní problém je, že jsem problematiku ukazelů nepochopila:( vysvětluje nám to na pascalu a začal hned spojovýma seznamama , takže je v tom docela binec:(
Offline

↑ SweetNelli:Bohužel nemám tolik času, abych se tu pouštěl do obsáhlého vysvětlování, co to ukazatele jsou a jak se s nimi pracuje. Jednoduše řečeno je ukazatel číslo, které udává, na kolikátém bajtu paměti vyhrazené pro program začínají určitá data. Více zde: http://www.learn-programming.za.net/pro … arn13.html
Offline
↑ Kondr:
mohl bys mi v rychlosti jen ukáat jak by teda vypadali procedury v těch případech u ukazelů jak jsem tu psala?
Offline