Search this site
Embedded Files
Skip to main content
Skip to navigation
Structuri de Date 2023
Curs
C1: Algoritmi
C2: Liste, Stive, Cozi
C3: Arbori binari
C4: Heap. HeapSort
C5: Mergesort
C6: Quicksort
C7: Radixsort
C8: Hashtable
C9: Huffman
C10: Grafuri
C11: Grafuri 2
C12: Grafuri 3
C13: Arbori echilibrati
Laborator
L1: Pointeri si Liste
L2: Liste, Stive, Cozi
L3: Arbori binari
L4: Sortari
L5: Hashtable
L6: Grafuri
Seminar
S1: Complexitate
S2: Exercitiu Stiva Coada
S3: Exercitiu ABC heap
S4: Exercitiu partitie Quicksort
S5: Exercitiu hashtable
S6: Exercitiu Huffman
Structuri de Date 2023
Curs
C1: Algoritmi
C2: Liste, Stive, Cozi
C3: Arbori binari
C4: Heap. HeapSort
C5: Mergesort
C6: Quicksort
C7: Radixsort
C8: Hashtable
C9: Huffman
C10: Grafuri
C11: Grafuri 2
C12: Grafuri 3
C13: Arbori echilibrati
Laborator
L1: Pointeri si Liste
L2: Liste, Stive, Cozi
L3: Arbori binari
L4: Sortari
L5: Hashtable
L6: Grafuri
Seminar
S1: Complexitate
S2: Exercitiu Stiva Coada
S3: Exercitiu ABC heap
S4: Exercitiu partitie Quicksort
S5: Exercitiu hashtable
S6: Exercitiu Huffman
More
Curs
C1: Algoritmi
C2: Liste, Stive, Cozi
C3: Arbori binari
C4: Heap. HeapSort
C5: Mergesort
C6: Quicksort
C7: Radixsort
C8: Hashtable
C9: Huffman
C10: Grafuri
C11: Grafuri 2
C12: Grafuri 3
C13: Arbori echilibrati
Laborator
L1: Pointeri si Liste
L2: Liste, Stive, Cozi
L3: Arbori binari
L4: Sortari
L5: Hashtable
L6: Grafuri
Seminar
S1: Complexitate
S2: Exercitiu Stiva Coada
S3: Exercitiu ABC heap
S4: Exercitiu partitie Quicksort
S5: Exercitiu hashtable
S6: Exercitiu Huffman
Structuri de Date
Seminar
4
Algoritmii de partitie Hoare si Lomuto
int
partition_Hoare
(
int
*
v
,
int
st
,
int
dr
){
int
pivot
=
v
[
alege_poz_pivot
(
v
,
st
,
dr
)];
int
i
=
st
,
j
=
dr
;
while
(
1
){
while
(
v
[
i
]<
pivot
)
i
++;
while
(
v
[
j
]>
pivot
)
j
--;
if
(
i
>=
j
)
return
j
;
swap
(
v
[
i
],
v
[
j
]);
i
++;
j
--;
}
}
Partitia Hoare
int
partition_Lomuto
(
int
*
v
,
int
st
,
int
dr
){
int
poz_pivot
=
alege_poz_pivot
(
v
,
st
,
dr
);
swap
(
v
[
poz_pivot
],
v
[
dr
]);
int
i
=
st
-
1
;
for
(
int
j
=
st
;
j
<
dr
;
j
++){
if
(
v
[
j
]<
v
[
dr
])
swap
(
v
[++
i
],
v
[
j
]);
}
swap
(
v
[
i
+
1
],
v
[
dr
]);
return
i
+
1
;
}
Partitia Lomuto
Google Sites
Report abuse
Google Sites
Report abuse