Kabarcık sıralamasını nasıl optimize edebileceğimi daha iyi bilmek isterim, böylece ilk geçişten sonra bile daha önce sıralanmış olan öğelere bakar.En İyileştirilmiş Kabarcık Sırala (Java)
Eg. [4, 2, 3, 1, 5, 6] --> [2, 3, 1, **4, 5, 6**]
Biz önümüzdeki geçişte bu 3 unsurları bakan böylece nasıl kodumu değiştirebilir, [4,5,6] sıralanmış sırada zaten olduklarını gözlemlemek? (yani sıralama daha verimli olur mu?) Yinelemeli bir yöntem önerir misiniz?
public static void bubblesort(int[] a) {
for(int i=1; i<a.length; i++) {
boolean is_sorted = true;
for(int j=0; j<a.length; j++) {
if(a[j] > a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
is_sorted = false;
}
}
if(is_sorted) return;
}
}
Zaman ayırdığınız için teşekkürler! Her şeyden
it doesn't do a lot with larger arrays. nasıl onlar zaten sıralanır bilebilir, daha önceki bir cevaben? – Pol0nium
is_sorted'e başvuruyor musunuz? Bu sadece bir bayrak – kent
@ Pol0nium: çünkü bir insan bunu görüyor. Soru, algoritmanın nasıl görüneceğidir. –