Witam serdecznie,
chcialem napisać program sortujący bąbelkowy na przykładzie filmu pana Mirka z C++ o algortymach i sortowaniu.
Doszedłem jakoś do tego, że w ogóle mi kompiluje ;)
Jednak liczby nie wychodzą takie jak powinny.
Pierwsza pętla wypisuje wylosowane liczby w podanym zakresie i wypisze np:230,551,146,872.
A ostatnie pętla, która powinna ustawić je rosnąco, co prawda ustawi ale dubluje niektóra np: 230,230, 551,872.
A jedna pomija np. Nie wiem czemu tak jest, pewnie jakoś źle pętle zrobiłem.
Wklejam kod i dziękuję z góry za pomoc.
package algo;
import java.util.LinkedList;
import java.util.Random;
import java.util.Scanner;
public class Algo {
public static void main(String[] args) {
Scanner s= new Scanner(System.in);
int n =s.nextInt();
int [] tab = new int [n];
LinkedList m = new LinkedList();
Random generator = new Random();
// Klasą użytą tutaj jest Random, generator to jakby nazwa obiektu
for (int i=0; i<tab.length; i++)
{
tab[i]=generator.nextInt(1000);
System.out.println(" "+tab[i]);
// w nawiasie podajemy przedział, tutaj od 0 do 1000
// dodajemy obiekt random do listy
}
for( int j=1; j<n; j++ )
{
for(int k=n-1; k>=1; k--)
{ if(tab[k]<tab[k-1])
{ int bufor;
bufor=tab[k-1];
tab[k-1]=tab[j];
tab[k]=bufor;
}
}
}
System.out.println(" ");
for (int i=0; i<tab.length; i++)
{
System.out.println(" "+tab[i]);
}
}
}