Dostala jsem zadání na semestrální práci na vysoké škole vytvořit Bubble sort. Musíme vytvořit toto: Projekt 'BubbleSort'
------------------------------------------------------------------------
Vytvořte třídu BubbleSort, která realizuje bublinkové třídění obecného pole N celých čísel.
Jako tesování třídy napište program který vygeneruje pole 50 náhodných celých čísel v rozsahu 1-500, toto pole vypište na konzoli, setřiďte pomocí BubbleSort a znovu vypište setříděné pole.
Na střední škole jsem programování vůbec neměla a nyní to mám prvně a absolutně v tom plavu. Něco jsem zkoušela udělat sama, pomocí různých návodů, různých materiálů z internetu, ale prostě se nechytám :-(. Byl by zde někdo ochotný mi pomoci udělat tuto semestrální práci a případně nějak vysvětlit?
Děláme v programu BlueJ. Kdyby náhodou někdo byl tak ochotný, mohu zde uvést nějaký kontakt (Facebook/ICQ/Skype/e-mail) a nějak se domluvíme a případně pošlu celé zadání.
Vsak si vytvor novy projekt. Do neho urob triedu BubleSort, ktora bude obsahovat jednu staticku metodu (nic viac zrejme nie je treba, teda aspon to nie je napisane v zadani). Asi takto by mohla vyzerat trieda:
class BubleSort {
public static int[] sort(int[] input) {
// sem napises kod bublinkoveho triedenia
}
}
A vytvoris triedu TestBubleSort. Neviem ci mozte pouzivat UnitTesy, tu je link ako sa to puziva: http://kar.kent.ac.uk/14122/1/Unit_Testing_in_BlueJ.pdf. BlueJ som v zivot nepouzil. A teraz som si vsimol, ze to mate akurat vypisat.
class TestBubleSort {
public static void main(String[] args) {
// Class generujui nahodne cisla
Random r = new Random();
int[] input = new int[50];
for(int i=0; i<50; i++) {
input[i] = r.nextInt(500)+1; // generuje nahodne cisla od 0-499
// preto + 1
}
System.out.println(printArray(input));
int[] sorted = BoubleSort.sort(input);
System.out.println(printArray(sorted));
}
public static String printArray(int[] array) {
// Class ktory si drzi pole characterov a potom z neho
// vytovri string, pomocou toString(). Lebo String je immutable
StringBuilde sb = new StringBuilder("[");
for(int i=0; i< array.length; i++) {
sb.append(array[i]);
// za poslednym prvkom pola nepises ciarku
if (i != array.length-1) {
sb.append(", ");
}
}
sb.append("]");
return sb.toString();
}
}
Osobne by som testoval radsej pomoou UnitTest-ov. Kod nie je kompletny, je to iba navod ako by som postupoval.