Structuri de Date - Curs 5

Curs
7/10 (1 vot)
Conține 1 fișier: ppt
Pagini : 18 în total
Mărime: 57.33KB (arhivat)
Publicat de: Paul Dascalu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: F. Kalisz

Extras din curs

Daca intr-o aplicatie se lucreaza cu liste ale caror elemente sunt de un singur tip, acesta se defineste ca TEL in TLISTA.H.

Pot exista insa situatii in care in aceeasi aplicatie se lucreaza cu mai multe liste, cu elemente de tipuri diferite (de exemplu lista de materii si liste de studenti).

In aceste situatii operatiile de baza asupra listelor sunt aceleasi, dar modul de tratare a partii de informatie difera, fiind strict legat de tipul elementelor din lista prelucrata la un moment dat.

Pentru a rezolva aceste situatii vom defini tipul “lista generica”, care face abstractie de tipul elementelor concrete.

Intr-o zona de memorie gestionata de utilizator

- la crearea celulei trebuie cunoscuta adresa zonei in care se gaseste valoarea elementului

In celula din lista

- la crearea celulei trebuie cunoscute:

dimensiunea elementului (D)

adresa de unde se preia valoarea acestuia

In ambele variante de memorare a elementelor adresele necesare sunt adresele unor elemente de tip necunoscut in momentul definirii tipului lista generica, deci vor fi declarate void*, urmand ca la nivelul aplicatiei sa fie convertite la tipul corespunzator.

In varianta a. campul info este adresa de element, deci de tip void*.

In varianta b. tipul si dimensiunea campului info sunt dependente de aplicatie, dar, pentru uniformitatea reprezentarii, acest camp poate fi declarat tot de tip void*.

typedef struct celg

{ struct celg *urm; /* adresa urmatoarei celule */

void *info; /* informatie */

} TCelg, *TLG, **ALG;

/* tipuri: Celula, Lista si Adresa_Lista Generica */

#define VidaL(L) ((L) == NULL)

typedef int (*TF1)(void*,...);

/* functie prelucrare un element */

typedef int (*TF2)(void*, void*);

/* functie prelucrare doua elemente */

Conținut arhivă zip

  • Structuri de Date - Curs 5.ppt

Alții au mai descărcat și

Probleme Seminar Sisteme Digitale

PROBLEMA 1 Se consideră funcţia booleană descrisă de Tabelul de adevăr: Pentru această funcţie se cer următoarele: 1.1. să se precizeze dacă...

Html Seminar 7

font-family: font1, font2... stabilirea unei liste de fonturi disponibile, separate prin caracterul virgulă font-size: „n” pt unde „n” reprezintă...

Proiectarea sistemelor informaționale

Notiuni de baza si principii de testare a SI Definitie. Testarea – este un proces de executie a programei cu scopul de a evidentia erorile....

Baze de Date

Facilitati Access Pentru Dezvoltarea Aplicatiilor Access Faciliteza Dezvoltarea si Exploatarea Bazelor De Date Punând La Dispozitia...

Bazele Informaticii

In general, un sistem se defineste ca fiind un ansamblu de elemente fizice si logice interconectate si interconditionate prin relatii fizice,...

SADD

Disciplina SADD face parte din grupul disciplinelor de specialitate Disciplina se predă la domeniul de licenţă Inginerie industrială, la...

Sisteme de Operare

7.Interogari 7.1. Tipuri de interogari Interogarile sunt acele obiecte din baza de date care ne permit sa introducem, sa actualizam si sa aranjam...

Te-ar putea interesa și

Elaborarea raportului de audit - studiu de caz Primăria X

INTRODUCERE La originile sale cuvantul “audit “ provine din latinescul audire care inseamna a asculta.Este vorba de a asculta pe cineva care...

Seminar Limbaj Visual Fox Pro și Access

1. Obiectul cursului 2. Cerinţe a. 50% teorie b. 50% laborator Minim 5 la ambele 3. Bibliografie 1. [Niţchi07] Elemente de baze de date şi...

Structuri de Date și Algoritmi

1. Conceptul de dată În informatică, prin dată, se desemnează un model de reprezentare a informaţiei, model cu care se poate opera pentru a obţine...

Structuri de Date și Alogoritmi

EXTENSII ALE LIMBAJULUI C++ A. Operaţii de intrare-ieşire specifice limbajului C++ I. Noţiuni teoretice Limbajul C++ furnizează o bibliotecă...

Structuri de Date și Algoritmi - Curs 1

Curs 1 - Introducere. Structuri de date - noţiuni generale Introducere Tipuri de bază. Pointeri. Tablouri. Paradigme de programare Programare...

Structuri de Date și Algoritmi - Curs 2

Curs 2 – Liste simplu înlănţuite Structura unei liste. Definirea elementului listei Element Listă Curs 2 – Liste simplu înlănţuite typedef int...

Structuri de Date și Algoritmi - Curs 3

Structura unei liste. Definirea elementului listei Element typedef int info; typedef struct nod{ int flag;//0 - informatie, 1 - cap sublista...

Ai nevoie de altceva?