Forum » Programiranje » sortirni algoritem v Cju
sortirni algoritem v Cju
Tr0n ::
Imas vec sortov oz. algoritmov. Recimo navadni sort, bubble sort, shell,... in quick sort, ki je zelo hiter (rekurzija).
private void QuickSort(int a[], int l, int r) throws Exception
{
int M = 4;
int i;
int j;
int v;
if ((r-l)>M)
{
i = (r+l)/2;
if (a[l]>a[i]) swap(a,l,i); // Tri-Median Methode!
if (a[l]>a[r]) swap(a,l,r);
if (a[i]>a[r]) swap(a,i,r);
j = r-1;
swap(a,i,j);
i = l;
v = a[j];
for(;;)
{
while(a[++i] while(a[--j]>v);
if (j swap (a,i,j);
pause(i,j);
if (stopRequested) {
return;
}
}
swap(a,i,r-1);
pause(i);
QuickSort(a,l,j);
QuickSort(a,i+1,r);
}
}
private void QuickSort(int a[], int l, int r) throws Exception
{
int M = 4;
int i;
int j;
int v;
if ((r-l)>M)
{
i = (r+l)/2;
if (a[l]>a[i]) swap(a,l,i); // Tri-Median Methode!
if (a[l]>a[r]) swap(a,l,r);
if (a[i]>a[r]) swap(a,i,r);
j = r-1;
swap(a,i,j);
i = l;
v = a[j];
for(;;)
{
while(a[++i]
if (j swap (a,i,j);
pause(i,j);
if (stopRequested) {
return;
}
}
swap(a,i,r-1);
pause(i);
QuickSort(a,l,j);
QuickSort(a,i+1,r);
}
}
|Luka| ::
Algoritem je ql, problem je v mojem compilerju(pacific C).
Ne pozna metod kot je throws,...
Trenutno uporablam tega, ce mas kksn predlog kerga pa kje dobit...
Thx Lix
Ne pozna metod kot je throws,...
Trenutno uporablam tega, ce mas kksn predlog kerga pa kje dobit...
Thx Lix
webblod ::
Borlandov C++ Command line Compiler skupaj v družbi s Turbo Debuger-jem dobiš na Borland / C++ strani brezplačno...
Kolikor vidim zgornjo kodo ustreza ...
Upam, da sem ti kaj pomagal!!!
Kolikor vidim zgornjo kodo ustreza ...
Upam, da sem ti kaj pomagal!!!
There must be a reason, why I'm so damn dissapointed on M$ Visual Basic
WEBblod.NET :: Slovenska programerska scena
WEBblod.NET :: Slovenska programerska scena
wintermute ::
Ce ze moras izumljat toplo vodo (domace naloge ipd, ...) imas spodaj najpreprostejsi bubble sort. Sicer ima C knjiznica v ta namen funkcijo qsort, C++ knjiznica pa std::sort.
 
Aja, tisto TrOnovo pa je bolj podobno javi, kot C++.
HTH.
#include <iostream>
#include <algorithm> // za std::sort
using namespace std;
// genericni bubbleSort
template<typename T>
void bubbleSort(T* array, unsigned int size)
{
bool sorted = false;
while (!sorted)
{
sorted = true;
for (int i = 0; i < size - 1; ++i)
{
if (array[i] > array[i + 1])
{
T temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
sorted = false;
}
}
}
}
int main()
{
int intArray[] = { 1, 3, 5, 2, 5, 8, 2, 5, 10, 1 };
double dblArray[] = {3.2, 6.4, 1.8, 0.4, 7.5, 2.1 };
int numInts = sizeof(intArray) / sizeof(intArray[0]);
int numDbls = sizeof(dblArray) / sizeof(dblArray[1]);
// Takole bi uporabil std::sort
// sort(&intArray[0], &intArray[numInts]);
// sort(&dblArray[0], &dblArray[numDbls]);
bubbleSort(intArray, numInts);
bubbleSort(dblArray, numDbls);
for (int i = 0; i < numInts; ++i) cout << intArray[i] << ", ";
cout << endl;
for (int i = 0; i < numDbls; ++i) cout << dblArray[i] << ", ";
cout << endl;
}
 
Aja, tisto TrOnovo pa je bolj podobno javi, kot C++.
HTH.
GaPe ::
Čimkrajši algoritem za sortiranje:
# include "stdio.h"
# include "conio.h"
void Sort(int *a, int *b);
int main()
{
int a1, b1, c1;
clrscr();
printf("nVpiši 3 številke: ");
scanf("%d %d %d", &a1, &b1, &c1);
Sort(&a1, &b1);
Sort(&b1, &c1);
Sort(&a1, &c1);
printf("nSortirane številke so: %d, %d, %d", a1, b1, c1);
getch();
return 0;
}
void Sort(int *a, int *b)
{
int temp=0;
if (*a < *b)
{
temp = *a;
*a = *b;
*b = temp;
}
}
lp
# include "stdio.h"
# include "conio.h"
void Sort(int *a, int *b);
int main()
{
int a1, b1, c1;
clrscr();
printf("nVpiši 3 številke: ");
scanf("%d %d %d", &a1, &b1, &c1);
Sort(&a1, &b1);
Sort(&b1, &c1);
Sort(&a1, &c1);
printf("nSortirane številke so: %d, %d, %d", a1, b1, c1);
getch();
return 0;
}
void Sort(int *a, int *b)
{
int temp=0;
if (*a < *b)
{
temp = *a;
*a = *b;
*b = temp;
}
}
lp
Don't steal! The government hates competition.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java - DN] Naključna številaOddelek: Šola | 1355 (884) | nyler |
» | Algoritmi za urejanje tabelOddelek: Programiranje | 1224 (961) | lebdim |
» | Digitalna evolucija (strani: 1 2 3 4 … 26 27 28 29 )Oddelek: Znanost in tehnologija | 75523 (25692) | pietro |
» | It means business (strani: 1 2 3 4 5 6 7 8 )Oddelek: Znanost in tehnologija | 28283 (14282) | Thomas |
» | [C++] dinamicna alokacija iz subrutineOddelek: Programiranje | 1186 (1036) | spin |