Witam, jestem początkującym w javie i potrzebuję odrobinę pomocy :)
Zacząłem od nauki podstaw czyli sortowania i o ile z innymi nie mam problemu tak te dwa mi się naprzykrzają.
Daję oba kody:
Bąbelkowe:
package babelkowe;
/**
*
* @author LeCezar
*/
public class Babelkowe
{
void sortuj(int t[], int n
{
int temp, i = 0;
while (i < n - 1)
{
if (t[i] > t[i + 1])
{
temp = t[i + 1];
t[i + 1] = t[i];
t[i] = temp;
i = 0;
}
else
{
i++;
}
}
}
}
public class program
{
public static void main(String[] args)
{
int n = 5;
int tab[] = {1, 6, 2, 3, 2};
Babelkowe o = new Babelkowe();
for (int x : tab)
{
System.out.print(x);
}
System.out.println();
o.sortuj(tab, n);
for (int x : tab)
{
System.out.print(x);
}
}
}
Oraz shakesort:
package shakesort;
/**
*
* @author LeCezar
*/
class Shakesort
{
void sortuj(int t[], int n)
{
int lewy = 1, prawy = n - 1, k = n - 1, temp, j;
do
{
for (j = prawy; j >= lewy; j--)
{
if (t[j - 1] > t[j])
{
temp = t[j - 1];
t[j - 1] = t[j];
t[j] = temp;
k = j;
}
}
lewy = k + 1;
for (j = lewy; j <= prawy; j++)
{
if (t[j - 1] > t[j])
{
temp = t[j - 1];
t[j - 1] = t[j];
t[j] = temp;
k = j;
}
}
prawy = k - 1;
}
while (lewy <= prawy);
}
}
public class program
{
public static int[] getRandomArray(int elements) //przypisanie tablicy wartosci calkowitych
{
int[] tl = new int[elements]; //tworzenie pustej tablicy
for (int k = 0; k < elements; k++) //wypełnienie tablicy daje wartosci z przedzialu 0 do 1 dlatego nalezy wymnozyc przez 100
{
tl[k] = (int) (Math.random() * 1000);
}
return tl;
}
public static void main(String[] args)
{
int n = 100000;
int tab[] = getRandomArray(100000);
Shakesort o = new Shakesort();
//for(int x:tab) System.out.print(x);
System.out.println();
long start = System.currentTimeMillis();
o.sortuj(tab, n);
long stop = System.currentTimeMillis();
System.out.println("czas wykonania w milisekundach:" + (stop - start));
//for(int x:tab)System.out.print(x);
}
}
Dorzucam zdjęcie jaki błąd mi wyskakuje :)
Kombinowałem już z zakładaniem nowej main klasy "program" ale nie wiedziałem i tak co tam wpisać.
Dzięki za pomoc :)