» »

j# in razvrščanje št. od min do max

j# in razvrščanje št. od min do max

Lukeatluke ::

En lep pozdrav!
Kot vidite sem nov na forumu, saj sem se odločil na prostim na svetlješo in bolj polno znanja stran.

Trenutno me zanima kako bi brez dodatnih vpeljav, najlažje iz tabele števil razporedil recimo 50 št. od minimuma do maximuma.

P.S.: Sem gimnazijant 3.letnika NM TGimnazije in delamo v javi.Sem navdušen na programiranjem, čeprav me včasih kar mine, ker imamo nadvse sposobne profesorje.
Upam, da bomo dolgo sejali znanje :)

Hvala že vnaprej za pomoč

Cheers!

Bojevnik ::

Sorting algorithm @ Wikipedia
priporčam ti quicksort(je najhitrejši, pa še malo si boš rekurzijo ponovil:) ),
najbolj preprosta pa sta selection in insertion sort.

MattoX ::

Jas pa ti priporočam bubble sort(urejanje z mehurčki), ker je meni najlažji. :)

fiction ::

Ponavadi se ti s sortiranjem sploh ni treba ubadati.
Ti samo poves kako se dajo elementi med seboj primerjati
(implementiras neko compareTo() funkcijo), potem
pa poklices Arrays.sort().

Drugace se mi pa zdi, da je najlazje razumljiv "selection sort",
ce hoces vse skupaj sam sprogramirati in nimas pojma o sortirnih algoritmih.
Ok, "bubble sort" tudi ni tako tezek, samo je pa pocasnejsi in imho manj intuitiven.

Pri sortiranju z izbiranjem je ideja v tem, da prvi element zamenjas z minimumom,
drugi element z drugim najmanjsim elementom in tako naprej.
Zdej samo kako najdes minimum. Ta algoritem je preprost: predpostavis da je prvi
element minimum. Pogledas naslednjega, ce je ta manjsi si njega zapomnis kot
minimum in tako naprej dokler se ne sprehodis cez celo tabelo.
Kot ze receno ta element potem zamenjas s prvim elementom.
Naslednji korak je, da najdes drugi najmanjsi element. Tudi tukaj ti ni treba
komplicirati. Ves da je prvi element sedaj ze najmanjsi zato lahko kar isti algoritem,
ki ti najde minimum, pozenes od drugega elementa naprej. Minimalni element
potem zamenjas z elementom na drugem mestu. Cisto lahko se ti zgodi da menjas
element sam s sabo. Potem na enak nacin nadaljujes naprej dokler nisi
obdelal vseh elementov.

Lukeatluke ::

Wola! :)

package ConsoleApplication2;

/**
* Summary description for Program
*/
public class Program
{
public static void main(String[] args)
{
double[] a = new double[5];
double[] y = new double[5];
int i=0, j=0;

for (i = 0; i < a.length; i++)
{
System.out.print("Vnesi vrednost za " + (i + 1) + "a. : ");
a[i] = BranjePodatkov.preberiDouble();
}

for (i = 1; i < a.length; i++)
{
double x = a[i];

for (j = i - 1; (j >= 0) && (x < a[j]); j--)
{
a[j + 1] = a[j];
}
a[j + 1] = x;
}
for (j = 0; j < a.length; j++)
{
System.out.print(a[j] + ", ");
}
System.out.println();
}
}

Hvala za pomoč!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Java - DN] Naključna števila

Oddelek: Šola
121355 (884) nyler
»

Algoritmi za urejanje tabel

Oddelek: Programiranje
51221 (958) lebdim
»

osnove v Javi - zvezdice

Oddelek: Programiranje
403537 (2759) Tutankhamun
»

[Java] Sortiranje objektov

Oddelek: Programiranje
192845 (2845) tjaz24
»

Vmesnik v Javi

Oddelek: Programiranje
142260 (2043) Camel

Več podobnih tem