【发布时间】:2014-09-14 22:59:00
【问题描述】:
我一直在研究如何从文本文件中删除所有“A”节点,“AHHHHHAAAAHHAAHAHHAHAHAAHAAHHA”我已经能够编写删除节点函数,但它只专注于删除头,但我希望这个函数是能够读取文件并删除所有“A”并仅打印所有 H。这是我的删除节点功能
struct Node
{
char data;
Node* pPrev;
Node* pNext;
};
void deleteNode(Node * android)
{
Node * pTemp = android->pNext;
android->data = pTemp->data;
android->pNext = pTemp->pNext;
free(pTemp);
}
这是我在这里找到的另一个删除节点功能,我尝试修改,我认为它不会起作用。
void deleteNode2(Node * android)
{
Node * pNext;
Node * pHead;
Node * pTail;
Node * pTemp = android->pNext;
if(android->pNext == 'A')
{
pTemp = pNext;
if(pHead = pTail)
{
pHead = pTail = NULL;
}
else
{
pHead = pHead->pNext;
}
}
free(pTemp);
}
在 int main() 中
while( fscanf(pInFile, "%c", &c) != EOF)
{
appendNode( pTail, c);
// display the list
displayList( pTail->pNext);
};
cout << endl;
cout << "'A' got removed from the List." << endl << endl;
deleteNode2(pTail->pNext);
displayList(pTail->pNext);
【问题讨论】:
标签: c++ linked-list singly-linked-list