Sunteți pe pagina 1din 6

16.

Pointeri i operatori cu pointeri n C


Un pointer este o variabil care reine o adres de memorie.
n C, un pointer poate reprezenta:
1. adresa unor date de un anumit tip

tip elementar, structur, ir de caractere etc.

operaiile cu pointeri sunt determinate de dimensiunea tipului de date


2. adresa unei funcii

adresa la care punctul curent de execuie va sri, n cazul n care acea funcie este
apelat
3. adresa unei adrese de memorie

acest tip de pointer poate fi redus la prima situaie


4. adresa unei zone cu coninut necunoscut (pointer ctre void)
Operatorul de refereniere
& - apare n faa variabilei asupra creia acioneaz
Este aplicat unei variabile de un anumit tip de date i are funcia de a obine adresa de memorie a
variabilei respective.
OperatIn this table, n is the number of records to be sorted. The columns "Average" and "Worst"
give the time complexity in each case, under the assumption that the length of each key is constant,
and that therefore all comparisons, swaps, and other needed operations can proceed in constant
time. "Memory" denotes the amount of auxiliary storage needed beyond that used by the list itself,
under the same assumption. The run times and the memory requirements listed below should be
understood to be inside big O notation, hence the base of the logarithms does not matter; the
notation log2 n means (log n)2.
These are all comparison sorts, and so cannot perform better than O(n log n) in the average or
worst case.

orul de derefereniere
* - apare n faa variabilei asupra creia acioneaz
Este aplicat unei variabile de tip pointer i are funcia de a obine valoarea stocat la adresa
respectiv.
17. Legtura dintre tablouri i pointeri
O variabil vector conine adresa de nceput a vectorului (adresa primei componente a
vectorului), i de aceea este echivalent cu un pointer la tipul elementelor din vector. Aceast
echivalen este exploatat, de obicei, n argumentele de tip vector i n lucrul cu vectori alocai
dinamic.
18. Sortarea tabloului unidimensional prin metoda de selecie liniar

Considerm un vector de elemente comparabile ntre ele i dorim s le ordonm


cresctor. Pentru aceasta comparm primul element cu toate elementele care urmeaz dup el.
Dac gsim un element mai mic dect primul atunci le interschimbm pe cele dou. Apoi
continum cu al doilea element al irului, pe care, de asemenea l comparm cu toate elementele
care urmeaz dup el i n caz de inversiune interschimbm cele dou elemente. Apoi procedm
la fel cu al treilea element al irului iar procesul continu astfel pna la penultimul element al
irului care va fi comparat cu ultimul element din ir.
for (i = 0; i < n-1; i++ ){
for ( k = i+1; k < n; k++){
if ( A[k] < A[i] ){
t = A[i];
A[i] = A[k];
A[k] = t;
}
}
}
19. Sortarea tabloului unidimensional prin metoda de selecie i interschimbri
20. Sortarea tabloului unidimensional prin metoda bulelor
Acest algoritm A sorting algorithm is an algorithm that puts elements of a list in a certain order.
The most-used orders are numerical order andlexicographical order. Efficient sorting is important for
optimizing the use of other algorithms (such as search and merge algorithms) which require input
data to be in sorted lists; it is also often useful for canonicalizing data and for producing humanreadable output. More formally, the output must satisfy two conditions:
1. The output is in nondecreasing order (each element is no smaller than the previous element
according to the desired total order);
2. The output is a permutation (reordering) of the input.
Further, the data is often taken to be

n cazul n care la o trecere nu a avut loc nici o interschimbare algoritmul se va incheia.


for (i = 0; i < n; i++ ){
for ( k = 0; k <

, ? II


, ,

n-1-i; k++){
if ( A[k] > A[k+1] ){
t = A[k];
A[k] = A[k+

07.05.2016, 18:02

, ," ". . ,
.


07.05.2016, 17:34

2
. .


07.05.2016, 17:20

)))
!

(13)

.
1];
A[k+1] = t;
}
}
}
21. Sortarea tabloului unidimensional prin metoda de inserie
Sortarea prin inserie se bazeaz pe aceleai principii ca i cele aplicate de majoritatea
juctorilor de cri, adic dup ridicarea unei cri de pe mas, aceasta se aeaz n pachetul din
mn la locul potrivit. Cu alte cuvinte, considerm c avem vectorul sortat a, iar la ivirea unui
nou element care se va aduga vectorului, el va fi pus pe locul potrivit printr-o inserie n
interiorul vectorului.
Este cea mai simpl implementare a algoritmului i se face n felul urmtor: Se consider
c primele i elemente al vectorului sunt deja sortate. Pentru elementul al (i+1)-lea, din tabloul
iniial, se va gsi poziia n care trebuie inserat printre primele i elemente. Toate elementele

tabloului de la aceast poziie i pn la i vor fi deplasate cu o poziie mai la dreapta iar poziia
eliberat va fi ocupat de elementul i+1.
for (i = 1; i < n; i++ ){


,
.
, .
.
, .
07.05.2016
Cato Institute,
7522951

S-ar putea să vă placă și