コンテキストは、L
リンクリストの1つです。私はLが最初に0ではないと仮定していると、すべてのリンクされたリストは、次のフィールドとしてNULLを持つノードで終了します。このリンクリスト機能の何が問題になっていますか?
void g(node*, int, char);
void g(node* L, int k, char y) {
node* current = L;
if (current->info == y) k--;
while (current->next) {
if (current->next->info == y) {
if (k > 0) k--;
else {
node* very_next = current->next->next;
delete current->next;
current->next = very_next;
}
}
current = current->next;
}
}
私はwhile(current->next)
のレベルでBAD_ACCESSの警告を取得しておきます。どうしましたか?テスト(!current->next)
が失敗したので、そこの正しいノードにアクセスしています。だから何が問題なの?
私がテストだリンクリストは、この構造体と
node* n = new node('a',new node('b', new node('a', new node('c', new node('a', 0)))));
です:
struct node {
char info;
node* next;
node(char a = 0, nodo* b = 0) {
info = a;
next = b;
}
};
いくつかの 'node'sといくつかの' nodo'sがありますか?実際のコードをコピーできますか? –
@BrendanLong、修正済み。 "nodo"はイタリア語の "ノード"です。私はちょうど理解のためにそれを翻訳しました。 – Shoe
私のための作品:http://codepad.org/TzzkiniO私の推測では、コードにはあなたが私たち(main()関数のような)を表示していない何かがあります。 –