Forum » Programiranje » 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!
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.
priporčam ti quicksort(je najhitrejši, pa še malo si boš rekurzijo ponovil:) ),
najbolj preprosta pa sta selection in insertion sort.
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.
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č!
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java - DN] Naključna številaOddelek: Šola | 1355 (884) | nyler |
» | Algoritmi za urejanje tabelOddelek: Programiranje | 1221 (958) | lebdim |
» | osnove v Javi - zvezdiceOddelek: Programiranje | 3537 (2759) | Tutankhamun |
» | [Java] Sortiranje objektovOddelek: Programiranje | 2845 (2845) | tjaz24 |
» | Vmesnik v JaviOddelek: Programiranje | 2260 (2043) | Camel |