class List {
ListNode *head;
ListNode *prev;
};
class ListNode {
int data;
ListNode *next;
friend class List;
ListNode(int d, ListNode *n) : data(d), next(NULL) {}
void insertM(int d) {
ListNode *ptr, *temp, *curr;
ptr = head;
while (ptr->data < d) {
prev = ptr;
ptr = ptr->next;
} // end while
temp = prev->next;
curr = new ListNode(d, ptr);
curr->next = prev->next; // or temp->next
prev->next = curr;
;
}
};
List mylist;
この関数では、リンクリストの途中にノードを追加しようとしています。他の関数は、前後にアイテムをうまく追加します。リストの真ん中に追加すると、currへのprev-> nextリンクは問題なく動作しますが、curr->nextはNULLを指します。
私はこのプログラムを過去1.5時間機能させようとしています。よろしくお願いします。これは宿題です。