codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
// Jan Kuri E1029453 #include <ctime> #include <iostream> namespace vaja1 { bool urejeno(const int* A, int n) { if (n<=0 || A==NULL) return false; for(int i=0;i<n-1;i++) if (A[i]<A[i+1]) return false; return true; } int* uredi_z_vstavljanjem(const int* A, int n) { int k, i, j; int* B = new int[n]; for (j=0; j < n; j++) // kopiramo polje, ki ga bomo urejali B[j] = A[j]; for (j=1; j < n; j++) { k = B[j]; i = j-1; while (B[i] < k && i >= 0) { B[i+1] = B[i]; i--; } B[i+1] = k; } return B; // vrnemo urejeno polje } void uredi_z_izbiranjem(int* A, int n) { int i, j, max, tmp; for (i=0; i < n-1; i++) { max = i; for (j=i+1; j < n; j++) if (A[j] > A[max]) // ce je vecji.. max = j; tmp = A[i]; // zamenjamo elementa A[i] = A[max]; A[max] = tmp; } } void zamenjaj(int &a, int &b) { int tmp = a; a = b; b = tmp; } void qsort(int* A, int levi, int desni) { int i = levi; int j = desni; int pivot = A[(levi + desni) / 2]; while (i <= j) { while (A[i] < pivot) i++; while (A[j] > pivot) j--; if (i <= j) { zamenjaj(A[i], A[j]); i++; j--; } } if (levi < j) qsort(A, levi, j); if (i < desni) qsort(A, i, desni); } void uredi_hitro(int* A, int n) { // TODO qsort(A, 0, n-1); } } int main() { int polje[]={109, 114, 84, 71, 51, 106, 51, 79, 64, 42}; int dolzina=sizeof(polje)/sizeof(int); clock_t start=clock(); //int* vrnjeno_polje=vaja1::uredi_z_vstavljanjem(polje, dolzina); //vaja1::uredi_z_izbiranjem(polje, dolzina); vaja1::uredi_hitro(polje, dolzina); //vaja1::uredi_z_izbiranjem(p, d); clock_t cilj=clock(); //vaja1::izpisi_polje(polje, dolzina); //vaja1::izpisi_polje(vrnjeno_polje, dolzina); //if ( !vaja1::urejeno(vrnjeno_polje, dolzina) ) if ( !vaja1::urejeno(polje, dolzina) ) std::cout << "napaka v algoritmu"; else std::cout << "testni vzorec OK"; std::cout << "\nCas izvajanja: " << difftime(cilj, start); std::cout << "\n"; //TUKAJ VSTAVI SVOJE TESTNE PRIMERE return 0; }
Private
[
?
]
Run code
Submit