C++ プロジェクトに関する支援が必要です。私がしなければならないことは、ポインターの配列から特定の要素を削除することです。私に教えられたテクニックは、要素を 1 つ減らして新しい配列を作成し、指定された要素を除いて古い配列からすべてを新しい配列にコピーすることです。その後、古い配列を新しい配列に向ける必要があります。
ここに私がすでに持っているもののいくつかのコードがあります:
ところで、私はカスタム構造体を扱っています...
Data **values = null; // values is initialized in my insert function so it is
// populated
int count; // this keeps track of values' length
bool remove(Data * x) {
Data **newArray = new Data *[count - 1];
for (int i = 0; i < count; i++) {
while (x != values[i]) {
newArray[i] = values[i];
}
count -= 1;
return true;
}
values = newArray;
return false;
}
これまでのところ、挿入関数は機能し、入力された配列を出力しますが、削除を実行すると、配列が小さくなりますが、目的の要素は削除されません。コントロールとして毎回0番目の要素を使用しています。
これは私が得てきた出力です:
count=3 values=[5,6,7] // initial insertion of 5, 6, 7
five is a member of collection? 0
count=3 values=[5,6] // removal of 0th element aka 5, but doesn't work
five is a member of collection? 0
count=4 values=[5,6,5] // re-insertion of 0th element (which is stored in
five is a member of collection? 0 // my v0 variable)
これを完了するための正しい方向に私を微調整できますか?