mały problem sortowania

0

Mam mały problem z sortowaniami przez selekcję i przez wstawianie. Jakoś nie mogę go znaleźć.

import java.util.Random;
import java.util.Scanner;


public class sortowanie extends Sort{

	sortowanie(){
		
	}
	@Override
	protected int losuj(int w_max) {
		Random wg = new Random();
		int a=wg.nextInt(w_max);
		return a;
	}

	@Override
	protected void selectionsort(boolean rosnaco) {
		int min;
		for(int i=0;i<ile-1;i++){
			min=tab[i];
			for(int j=1;j<ile;j++){
				if (tab[j]<tab[i]) min=tab[j];
			}
		}
	}

	@Override
	protected void insertsort(boolean rosnaco) {
		int v,i,j;
		for(i=1;i<ile;i++){
			j=i;
			v=tab[i];
			while((tab[j-1]>v)){
				tab[j]=tab[j-1];
				j=j--;
			}
			tab[j]=v;
		}
	}

	@Override
	public void wypelnij(int n, int wartosc_maksymalna) {
		ile=n;
		for(int i=0;i<ile;i++)
		{
			tab[i]=losuj(wartosc_maksymalna);
		}
		
	}

	@Override
	public void sortuj(boolean rosnaco, int metoda) {
		if (metoda==1) selectionsort(rosnaco);
		else if (metoda==2) insertsort(rosnaco);
	}

	@Override
	public void wypisz() {
		for(int i=0;i<ile;i++)
		{
			System.out.print(tab[i]);
			System.out.print("  ");
		}
		System.out.println("");
	}
	
	public static void main(String args[])
	{
		sortowanie p = new sortowanie();
		p.wypelnij(10,10);
		p.wypisz();
		p.sortuj(true,2);
		p.wypisz();
	}

}

Nie chce coś sortować, pewnie banalny problem ale dzisiaj jakoś głowy nie mam żeby to znaleźć.

0

Nie rozumiem z czym masz problem. Czyżbym z tym że dostałeś ten kawalek kodu od prowadzącego i dostałeś za zadanie go dokończyć?

0

no tak tą pierwszą klasę dostałem no i tą drugą muszę zrobić tylko coś mi nie chodzi kompiluje się niby jest wszystko dobrze, a nie działa. Wyświetla mi tylko przed sortowaniem tablicę :/

0

Tu jest tylko jedna klasa. Rozumiem ze insertion sorta dostałeś a masz napisać selection sorta? Rozumiem ze masz bana na wikipedii i nie umiesz czytać? Wiesz ze tam są gotowe przykłady tych kodów?

0

ku*wa w pierwszym poście wyżej masz jeszcze pierwszą klasę, drugą sam zrobiłem, a sortowanie po prostu nie działa , a problem nie jest chyba z tymi metodami

0

program działa tylko do momentu sortowania dalej nic nie wypisuje a nadal chodzi się nie zakańcza i to jest problem, i nie wiem gdzie

0

j=j--; - co to za potworek

0

@madara1232 problem jest jak najbardziej z "tymi metodami" bo są po prostu źle napisane. Ponownie odsyłam na wikipedię. Podpowiem ci że twój selectionsort na przykład NIC nie robi. Ot wybiera sobie minimum z tablicy n razy (co więcej zawsze to samo minimum bo tablica się nie zmienia). Nie wiem jak możesz oczekiwać że to jakimś cudem sprawi że tablica będzie posortowana. Wyobraź sobie że chcesz posortować monety, ale jedyne co robisz to wyciągasz najmniejszą z nich i wkładasz ją z powrotem do wora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1