⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delete.h

📁 南京航空航天大学王珊珊出版的C++详细课后习题程序集和PPT课件.
💻 H
字号:
node *Delete_one_node( node *head,  int num )
{    
    node *p1, *p2;
    if( head == NULL)  // 处理链表为空时的状况
	{
		cout << "链表为空,无结点可删!\n";
		return(NULL);
	}
	if( head->data == num) // 若待删除的结点为首结点
	{
		p1=head;
		head=head->next;
		delete p1;
		cout << "删除了一个结点!\n";
	}
	else  // 删除其他结点
	{
		p1=head; 
		p2= head->next;   // p1指向的结点在p2指向的结点之前
		while(p2->data != num&&p2->next !=NULL ) //先循环查找待删除结点
		{       //若p2指向的结点不是待删除结点,并且也不是尾结点时循环
			p1=p2; 
			p2=p2->next; // p1,p2均向后挪动一个结点
		}
		if(p2->data == num)  // 若找到, 删除p2指向的结点
		{      // 注意:若p2指向的结点是链尾结点,这里的处理同样适用
			p1->next = p2->next;
			delete p2;
			cout << "删除了一个结点!\n";
		}
		else cout<<num<<"链表上没有找到要删除的结点!\n";
    }
	return(head);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -