Pagina informaticii

Teste de informatică pentru liceu, articole C#, C/C++, PHP

Liste simplu înlănţuite - evaluare finală

Rândul 1

1. Scrieţi funcţia Move, care primind ca parametru un pointer L la primul nod al unei liste simplu înlănţuite care are cel puţin 3 noduri, mută la sfârşitul listei primele 2 noduri ale listei. De exemplu, dacă lista conţinea iniţial 6 noduri cu informaţiile 1,2,3,4,5,6, după apelul funcţiei lista va conţine 3,4,5,6,1,2.

2. Scrieţi funcţia Small care primeşte ca parametri un pointer L la o listă simplu înlănţuită (ce memorează în noduri numere întregi distincte) şi un întreg p, returnează numărul nodurilor aflate înaintea nodului ce memorează valoarea p şi care conţin întregi strict mai mici decât p. De exemplu pentru p=5 şi lista cu valorile 1,7,3,5,20,8,2 se va returna valoarea 2. Evident, valoarea p apare în listă.

3. Scrieţi funcţia Insert care primeşte ca parametri un întreg p, un întreg k şi un pointer L la o listă simplu înlănţuită ce memorează în noduri numere întregi şi inserează după nodul cu informaţia p un nou nod cu informaţia k.

4. Scrieţi o funcţie Alfabet care primind ca parametru un pointer L la o listă simplu înlănţuită ce memorează litere mici ordonate alfabetic, inserează în listă şi celelalte litere mici lipsă pentru a apărea în final toate literele mici, de asemenea ordonate. Nu se va crea o altă listă, singura operaţie permisă fiind inserarea de noduri în lista existentă. Explicaţi în maximum 3 rânduri metoda folosită.

 

Rândul 2

1. Scrieţi funcţia FindBig care primeşte ca parametri un pointer L la o listă simplu înlănţuită şi un întreg k, returnează numărul nodurilor aflate înaintea nodului ce memorează valoarea k şi care conţin întregi strict mai mari decât k. De exemplu pentru k=8 şi lista cu valorile 11,7,3,8,20,18,2 se va returna valoarea 1. Presupunem că valoarea k apare în listă o singură dată.

2. Scrieţi funcţia Circle, care primind ca parametru un pointer L la primul nod al unei liste simplu înlănţuite cu cel puţin 4 noduri, mută la sfârşitul listei primele 3 noduri ale listei. De exemplu, dacă lista conţinea iniţial 5 noduri cu informaţiile 11,12,13,14,15, după apelul funcţiei lista va conţine 14,15,11,12,13.

3. Scrieţi funcţia InNode care primeşte ca parametri un întreg i, un întreg j şi un pointer L la o listă simplu înlănţuită (ce memorează în noduri numere întregi) şi inserează după nodul cu informaţia i un nou nod cu informaţia j.

4. Scrieţi o funcţie Alfabet care primind ca parametru un pointer L la o listă simplu înlănţuită ce memorează litere mici ordonate alfabetic, inserează în listă şi celelalte litere mici lipsă pentru a apărea în final toate literele mici, de asemenea ordonate. Nu se va crea o altă listă, singura operaţie permisă fiind inserarea de noduri în lista existentă. Explicaţi în maximum 3 rânduri metoda folosită.

Despre autor
Author

Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică

Scrie un comentariu
Nume:

Comentariu:

15 + 10 =