CountingSort
1 void CountingSort(int E[]) {
// E - tablica parami różnych liczb naturalnych
2 int i ,
3 max:=f ind rnax(E) , // maksymalny element w tablicy E
4 Tmp [max+l] , // tablica pomocnicza długości max+l
5 Ont [si ze [E] ) ; // tablica pomocnicza długości size (E)
6
7 for (i : =0; i<size(E); i++) do // zliczanie
8 Tmp[E[i]]:=Tmp[E[i]]+1;
9
10 for (i : =1; i<max+l; i++) do // sumowanie
11 Tmp[i]:=Tmp[i]+Tmp[i-1];
12
13 for (i :=size (E)-1; i^O; i —) do { // wypisanie
14 Ont[Tmp[E[i]]-1]:=E[i];
15 Tmp[E[i]]:=Tmp[E[i]]—1;
16 }
17
18 COpy(0nt,E) ; // kopiowanie z powrotem posortowanych danych do tablicy wejściowej
19 }
Wyszukiwarka
Podobne podstrony:
HoareSplit 1int HoareSplit(int E[], int k) { // E - niepusta tablica parami różnych liczb naturalnycPartition 1 int Partition(int E[]) { // E - tablica paramiBinSearch 1 int BinSearch(element E[], element x) { // E - tablica parami różnychP3160246 Dla dowolnych parami różnych liczb rzeczywistych Xo, Xi,..., f € C"[< xo, X,. ,.,xnInsertionSort 1 void InsertionSort(int E[]) { // E &nSelectionSort 1 void SelectionSort(int E[]) { // E &n2 2 0 LICZBY ZAPRZYJAŹNIONE 2 8 Liczby zaprzyjaźnione to para różnych liczb naturalnych takich, że sDSCN1076 (2) różnych liczb naturalnych dodatnich, to również liczba 2n jest sumą kwadratów dwóch różMergeSort 1 void MergeSort (int E[]) { // E - niepusta tablQuickSortSplit 1 void Quick.SortSplit (int E []) { // E - nPrzykład C) Wskaźnik na pierwszą 3-elementową tablicę (pierwszą z dwóch) void main() { intwięcej podobnych podstron