Tehnici de programare

Laborator
8/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: pdf
Pagini : 70 în total
Cuvinte : 15358
Mărime: 3.66MB (arhivat)
Publicat de: Gelu Cozma
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Lector dr. Laura Stoica

Extras din laborator

Definiţie: O listă este o colecţie de elemente de informaţie (noduri) aranjate într-o anumită

ordine.

Lungimea unei liste este numărul de noduri din listă.

Structura corespunzătoare de date trebuie să ne permită să determinăm eficient care este

primul sau ultimul nod în structură şi care este predecesorul sau succesorul unui nod.

În imaginea de mai jos este reprezentată o listă liniară de lungime patru.

Operaţiile care se fac într-o listă se pot împărţii astfel:

A) Operaţii care schimbă conţinutul listei sunt:

- Adăugarea de noi noduri la începutul sau sfârşitul listei;

- Inserarea de noi noduri în orice loc din listă;

- Ştergerea de noduri din orice poziţie a listei;

- Modificarea unui nod dintr-o poziţie dată.

B) Operaţii care schimbă structura listei sunt:

- Inițializarea unei liste ca o listă vidă.

C) Operaţiile de caracterizare sunt:

- localizarea nodului din listă care satisface un anumit criteriu;

- determinarea lungimii unei liste.

D) Alte operaţii ce se pot face într-o listă:

- Parcurgerea unei liste;

- Separarea unei liste în două sau mai multe subliste;

- Selecţia nodurilor dintr-o listă care îndeplinesc anumite criterii;

- Crearea unei liste ordonate după valorile sale (ordonare crescătoare sau

descrescătoare)

- Combinarea a două sau a mai multor liste prin concatenare sau interclasare.

Primul

element

Ultimul

element

predecesor succesor

Capul

listei

Coada

listei nod 1 nod 2 nod 3 nod 4

Laborator 1 Tehnici de programare 2015

2

Lector dr. Laura Stoica

Spaţiul din memorie ocupat de listă poate fi alocat în două moduri: prin alocare secvenţială

sau prin alocare înlănţuită.

- Liste alocate secvenţial

Acest tip de alocare este întâlnit când se lucrează cu tablouri (vectori). Avantajul

alocării secvenţiale este dat de faptul că accesul la oricare din nodurile listei este

direct. Dezavantajul constă în faptul că operaţiile de adăugare, eliminare sau

schimbare de poziţie a unui nod necesită un efort mare de calcul.

- Liste alocate înlănţuit

Alocarea înlănţuită poate fi efectuată static (utilizând vectori) sau dinamic. În cazul

alocării dinamice, nodul unei liste este o structură care conţine alături de informaţie

şi adresa nodului următor (pentru liste simplu înlănţuite) sau adresele nodului

următor şi a celui precedent (pentru liste dublu înlănţuite).

Liste înlănţuite

Dacă un nod din listă conţine o singură legătură, cea la nodul următor, spunem că avem o

lista simplu înlănţuită.

Dacă un nod din listă conţine două legături: una la nodul următor şi cealaltă la nodul

precedent spunem că avem o lista dublu înlănţuită.

Liste simplu înlănţuite

Definiţie: O listă simplu înlănţuită este o înşiruire de elemente numite noduri, în care

fiecare nod se păstrează o zonă de informaţie (numită informaţie utilă) şi un pointer către elementul

următor.

O listă simplu înlănţuită se poate reprezenta astfel:

nod 1

primul

nod

ultimul

nod

nod 2 nod 3 nod 4

Info1 adr2 Info2 adr3 Info3 adr4 Info4 null

nod 2

adr1 Info2 adr3

nod 3

adr2 Info3 null

nod 1

null Info1 adr2

nod 1

primul

nod

ultimul

nod

nod 2 nod 3 nod 4

Info1 adr2 Info2 adr3 Info3 adr4 Info4 null

Laborator 1 Tehnici de programare 2015

3

Lector dr. Laura Stoica

Declararea tipului corespunzător de nod într-o listă simplu înlănţuită este:

typedef struct nod

{

tip_inf info;

nod *urm;

}*NOD;

Operaţii care se fac într-o listă:

1. Crearea unui nod într-o listă simplu înlănţuită

Operaţia de creare a listei este dată de funcţia următoare, utilizându-se definirea de mai jos a

nodului listei. Funcţia furnizează adresa nodului prim.

Caz 1: Situaţia în care lista e vidă avem

prim=NULL şi ultim=NULL

Preview document

Tehnici de programare - Pagina 1
Tehnici de programare - Pagina 2
Tehnici de programare - Pagina 3
Tehnici de programare - Pagina 4
Tehnici de programare - Pagina 5
Tehnici de programare - Pagina 6
Tehnici de programare - Pagina 7
Tehnici de programare - Pagina 8
Tehnici de programare - Pagina 9
Tehnici de programare - Pagina 10
Tehnici de programare - Pagina 11
Tehnici de programare - Pagina 12
Tehnici de programare - Pagina 13
Tehnici de programare - Pagina 14
Tehnici de programare - Pagina 15
Tehnici de programare - Pagina 16
Tehnici de programare - Pagina 17
Tehnici de programare - Pagina 18
Tehnici de programare - Pagina 19
Tehnici de programare - Pagina 20
Tehnici de programare - Pagina 21
Tehnici de programare - Pagina 22
Tehnici de programare - Pagina 23
Tehnici de programare - Pagina 24
Tehnici de programare - Pagina 25
Tehnici de programare - Pagina 26
Tehnici de programare - Pagina 27
Tehnici de programare - Pagina 28
Tehnici de programare - Pagina 29
Tehnici de programare - Pagina 30
Tehnici de programare - Pagina 31
Tehnici de programare - Pagina 32
Tehnici de programare - Pagina 33
Tehnici de programare - Pagina 34
Tehnici de programare - Pagina 35
Tehnici de programare - Pagina 36
Tehnici de programare - Pagina 37
Tehnici de programare - Pagina 38
Tehnici de programare - Pagina 39
Tehnici de programare - Pagina 40
Tehnici de programare - Pagina 41
Tehnici de programare - Pagina 42
Tehnici de programare - Pagina 43
Tehnici de programare - Pagina 44
Tehnici de programare - Pagina 45
Tehnici de programare - Pagina 46
Tehnici de programare - Pagina 47
Tehnici de programare - Pagina 48
Tehnici de programare - Pagina 49
Tehnici de programare - Pagina 50
Tehnici de programare - Pagina 51
Tehnici de programare - Pagina 52
Tehnici de programare - Pagina 53
Tehnici de programare - Pagina 54
Tehnici de programare - Pagina 55
Tehnici de programare - Pagina 56
Tehnici de programare - Pagina 57
Tehnici de programare - Pagina 58
Tehnici de programare - Pagina 59
Tehnici de programare - Pagina 60
Tehnici de programare - Pagina 61
Tehnici de programare - Pagina 62
Tehnici de programare - Pagina 63
Tehnici de programare - Pagina 64
Tehnici de programare - Pagina 65
Tehnici de programare - Pagina 66
Tehnici de programare - Pagina 67
Tehnici de programare - Pagina 68
Tehnici de programare - Pagina 69
Tehnici de programare - Pagina 70

Conținut arhivă zip

  • Tehnici de programare.pdf

Alții au mai descărcat și

Arhitectura calculatoarelor

Scopul lucrării a) Elemente de limbaj de asamblare. b) Instructiuni de transfer. c) Instructiuni aritmetice. Desfășurarea lucrării...

Ingineria programării

În “Ghidul cunoștințelor esențiale referitoare la Ingineria Programării” (Guide to the Software Engineering Body of Knowledge -...

Securitatea bazelor de date

Astăzi vom discuta despre sucuritatea bazelor de date. Ne vom uita în mod deosebit la diferite comenzi şi construcţii SQL care să ne ajute să...

Microprocesoare

1)initiarea in programare ASM. 2)stodierea modului periferic GPIO. Problema: Sa se dezvolte o aplicatie care ar permite trecerea starii unui led...

Sisteme Multimedia

Scopul lucrării Familiarizarea cu produsul Director, studierea principalelor componente necesare dezvoltării unei aplicaţii multimedia. Sarcina...

Laboratoare programarea orientată pe obiecte

1. Obiective - Formarea unei imagini generale, preliminare, despre programarea orientată pe obiecte (POO) și deprinderea cu noile facilitați...

Inițiere în limbajul de programare VBA (Visual Basic for Applications)

Sarcina lucrării: Sarcina lucrării este de a face cunoștință cu limbajul de programare Visual Basic for Applications (VBA) și mediul de dezvoltare...

Bazele utilizării calculatoarelor

Un computer (calculator sau sistem de calcul) poate fi definit ca un echipament electronic de prelucrare automată a datelor, pe bază de program....

Te-ar putea interesa și

Modelarea aplicațiilor financiar contabile

SISTEME INFORMAŢIONALE FINANCIAR-CONTABILE Modelarea aplicaţiilor financiar-contabile utilizând tehnici moderne de programare 1.1. Structura...

Metode de Programare cu Matrice Rare

Introducere Lucrarea cuprinde metode tradiţionale de calcul matriceal care sunt utilizate frecvent în practică, metode reanalizate şi revăzute...

Strategii de Negociere pentru Soluționarea Conflictelor în Organizația Militară

Introducere Evoluţiile actuale ale organizării organizaţiilor în conexiune cu problematica funcţionalităţii lor au scos în evidenţă necesitatea...

Tehnici de Programare

PREZENTARE GENERALE In proiectul urmator am creat o baza de date cu referire la un hotel (ANGELA). Baza de date este impartita in doua fisiere:...

Algoritmi de Calcul

Capitolul I Sistem Informaţional – Sistem Informatic I.1. Sistemul Informaţional. Un sistem poate fi privit ca un ansamblu de elemente...

Algoritmi și Structuri de Date

Introducere: Semiotica se ocupã cu studiul semnelor în natura si în societate. Semnul nu este o calitate în sine a unui obiect, ci o functie pe...

Pachete Software SAS-IML

CAPITOLUL I: INTRODUCERE ÎN LIMBAJUL SAS/IML 1.1Scurtă descriere a limbajului SAS/IML Acronimul IML este abrevierea expresiei “limbajul...

Tehnici de Programare

LIMBAJUL DE PROGRAMARE JAVA Java este un limbaj de programare de nivel înalt, dezvoltat de JavaSoft, companie în cadrul firmei Sun Microsystems....

Ai nevoie de altceva?