2962 vizualizari | Fii primul care comenteaza
Fiind date doua siruri ordonate crescator A[1..dimA] si B[1..dimB] se pune problema de a se construi sirul C[1..dimA + dimB] ordonat crescator ce contine toate elementele lui A si B (exemplu de operatie de combinare a doua structuri).
Algoritmul de interclasare are urmatoarea structura simpla:
Se parcurg simultan sirurile A, B si C. La fiecare pas se compara cele doua componente curente din A si B, iar cea mai mica dintre ele este mutata in C. Cand s-a terminat una din surse, A sau B, componentele ramase se adauga la C (ce poarta denumirea de destinatie).
Interclasarea a doua siruri sortate
Pseudocod
procedure Merging(dimA, dimB, A, B, C)
iA := 1; iB := 1; iC := 1; {initializarea indicilor pentru parcurgeri}
while (iA dimA) and (iB < dimB) do
if A[iA] < B[iB] then
C[iC] := A[iA]
iA := iA + 1
else C[iC] := B[iB]
iB := iB + 1
endif
iC := iC + 1
endwhile
Adauga o cerere pentru cursul sau referatul de care ai nevoie iar noi te anuntam de indata ce cererea ta a primit un raspuns. Daca dimpotriva, esti un student silitor si vrei sa raspunzi unei cereri, vei castiga mult mai multi gold coins!
Participa acum!