2016-04-13 1 views
0

Мне нужна помощь, чтобы понять, как это сделать ... Мне нужно удалить ключ из индекса r и связанного с ним значения из этого списка. Все, что укажет на меня в правильном направлении, будет очень благодарно! Внутри функции я написал то, что думал, но не помог мнеУдаляет ключ с заданным индексом r и связанным с ним значением из этой таблицы символов

public class SortedArrayST<Key extends Comparable<Key>, Value> { 
    private static final int MIN_SIZE = 2; 
    private Key[] keys;  // the keys array 
    private Value[] vals; // the values array 
    private int N = 0;  // size of the symbol table 

    public SortedArrayST(int size) { 
     keys = (Key[])(new Comparable[size]); 
     vals = (Value[])(new Object[size]); 
    } 

    public int size() { 
     return N; 
    } 

    private void remove(int r) { 
     if (keys == null) return; 
     for(int i = 0; i < size(); i++){ 
      // iterate through the list 
      // if key is at index r and if key is at associated value 
      // remove from list 
     } 
} 
+0

Не можете ли вы просто использовать карту вместо двух массивов? –

+0

точкой этого задания является использование двух массивов:/Я хочу, чтобы мы могли использовать карту lol – yummyyenni

ответ

0

Существует множество способов. Один из них заключается в смещении значений массива вдоль, начиная с индекса, который вы хотите удалить, затем установите последний элемент в Null и уменьшите N.

Кроме того, не важно, что вы не устанавливаете N в свой конструктор.

+0

, можете ли вы помочь мне начать это? – yummyyenni

+0

NVM, я понял это! Что вы сказали, что достаточно, СПАСИБО: D – yummyyenni

Смежные вопросы