Exerciții SDA
De la WikiLabs
Vectori
- Realizați un program care să implementeze o listă inteligentă de valori folosind vectori. Scrieți funcții pentru:
- adăugarea unui element la sfărșitul listei;
- adăugarea unui element la o poziție specificată din listă;
- eliminarea unui element de la o poziție specificată din listă;
- căutarea unui element în listă;
- sortarea listei cu un algoritm eficient - O(n*logn);
- Realizați un program care să implementeze o listă inteligentă de valori sortate folosind vectori (lista trebuie menținută sortată la orice modificare). Scrieți funcții pentru:
- adăugarea unui element folosind un algoritm eficient - O(logn) pentru identificarea poziției corecte;
- eliminarea unui element de la o poziție specificată din listă;
- căutarea unui element în listă folosind un algoritm eficient - O(logn);
- Realizați o structură de tip coadă (FIFO) de șiruri de caractere folosind vectori. Dimensiunea maximă a cozii este specificată inițial și nu se face realocare. Scrieți funcții pentru:
- adăugarea unui element în coadă;
- citirea unui element din coadă;
- interogarea numărului de elemente din coadă;
- Realizați o structură de tip stivă (LIFO) de valori de tip float folosind vectori. Dimensiunea maximă a stivei este specificată inițial și nu se face realocare. Scrieți funcții pentru:
- adăugarea unui element în stivă;
- citirea unui element din stivă;
- interogarea numărului de elemente din stivă;
- Dându-se un text, realizați o histogramă a caracterelor din text (afișați numărul de apariții pentru fiecare caracter).
Liste simplu și dublu înlănțuite
- Realizați un program care să implementeze o listă inteligentă de valori folosind înlănțuirea dublă. Scrieți funcții pentru:
- adăugarea unui element la sfărșitul listei;
- adăugarea unui element la o poziție specificată din listă;
- eliminarea unui element de la o poziție specificată din listă;
- căutarea unui element în listă;
- sortarea listei cu un algoritm eficient - O(n*logn);
- printarea valorilor din listă pe ecran folosind o funcție iterativă;
- Realizați un program care să implementeze o listă inteligentă de valori sortate folosind înlănțuirea simplă (lista trebuie menținută sortată la orice modificare). Scrieți funcții pentru:
- adăugarea unui element folosind un algoritm eficient - O(logn) pentru identificarea poziției corecte;
- eliminarea unui element de la o poziție specificată din listă;
- căutarea unui element în listă;
- printarea valorilor din listă pe ecran folosind o funcție recursivă;
- Realizați o structură de tip coadă (FIFO) de șiruri de caractere folosind înlănțuirea simplă. Nu există o dimensiune maximă a cozii. Scrieți funcții pentru:
- adăugarea unui element în coadă;
- citirea unui element din coadă;
- interogarea numărului de elemente din coadă;
- Realizați o structură de tip stivă (LIFO) de valori de tip float folosind înlănțuirea simplă. Nu există o dimensiune maximă a stivei. Scrieți funcții pentru:
- adăugarea unui element în stivă;
- citirea unui element din stivă;
- interogarea numărului de elemente din stivă;