Взять класс программирования прямо сейчас, и я смущен макс. Мы в основном должны объявить медианный метод, который найдет медиану значений, содержащихся в объекте массива, и я не знаю, как манипулировать этим в этом сценарии. Кроме того, я не знаю, как разделять части массива или как получить конкретные «средние куски» массива, вроде как при сортировке слияния, однако мы даже не приблизились к этому.Как найти медиану объекта массива?
Я боролся с этой проблемой всю неделю. Вот мой код. Любые советы или подсказки были бы потрясающими. Спасибо
class ArrayIns {
private long[] a;
private int nElems; // number of data items
public ArrayIns(int max) { // constructor
a = new long[max]; // create array
nElems = 0; // no items yet
}
public void insert(long value) {
a[nElems] = value;
nElems++;
}
public void display() {
for(int j=0; j<nElems; j++)
System.out.print(a[j] + " ");
System.out.println("");
}
public void insertionSort() {
int in, out;
for(out=1; out<nElems; out++) { // out is dividing the line
long temp = a[out]; // remove marked item
in = out; // start shifts at our
while(in>0 && a[in-1] >= temp) { // until one is smaller,
a[in] = a[in-1]; // shift item to right
--in; // go left one position
}
a[in] = temp; // insert marked item
} // end of for statement
} // end of insertion sort
} // end of ArrayIns
class InsertSortApp {
public static void main(String[] args) {
int maxSize = 100;
ArrayIns arr;
arr = new ArrayIns(maxSize);
arr.insert(77); // insert 10 items
arr.insert(99); // 10 is also even :)
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
arr.display();
arr.insertionSort();
arr.display();
} // end of main()
} // end of InsertSortApp class
Хороший ответ, связывая с существующими решениями. Некоторый поддерживающий код был бы полезен –