我需要在我的代碼中實現雙向氣泡排序。雙向泡沫排序在Java?
換句話說in
會從左至右第一攜帶最大值。
但是當它到達out
時,它應該反轉並從右到左攜帶的最小值。
我建議除了當前的另外out
索引。
這就是我到目前爲止 - 只有2個循環。我猜我必須以某種方式將它們結合起來?
public void bubbleSort() {
int out, in; // nElems in my case is 4, because I have 4 elements in my array
for(out=nElems-1; out>1; out--) // outer loop backward
for(in=out; in>1; in--) // inner loop backward
if(a[in] < a[in-1])
swap(in, in-1);
for(out=0; out<nElems; out++) // outer loop forward
for(in=0; in<out; in++) // inner loop forward
if(a[in] > a[in+1])
swap(in, in+1);
雙向冒泡排序是本次作業?只問,因爲我很少在練習中發現泡泡排序 – 2010-09-30 15:52:19
是的,它是SB。泡沫排序糟透了 - 真實的故事,但我必須完成這個項目。 – 2010-09-30 16:02:48
我猜我不會得到太多的幫助,如果這是一項家庭作業?甚至沒有線索? – 2010-09-30 16:07:14