单链表删除操作 单链表删除操作:如何遍历一个单链表,把符合条件的结点删除??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我实在没有理解lz的意思是自己做的链表?还是mfc里的? 如果要删头,还得把下一个作为头,它是HASH表的一个索引值 不就在原来基础上的循环里面不用break,然后判断是否到头就可以了吗? 和结构无关:例如:pNode=(CMI_FlowManage *)G[uiIndex];//一个链表头结点 pTempNode=pNode->next;while(pTempNode!=NULL){ if(符合条件) { 如何删除 继续下个结点 }}注意当头结点满足条件如何删除???(链表中有可能都满足条件,此条件不用考虑) 你直接在while里用pNode,不要用pTempNode就是从头节点开始了 pTempNode = pNode;/*用pTempNode保存当前节点的前一个节点,因为当前节点可能要删除,就利用前一个节点直接=当前节点的下一个节点就可以删除当前节点*/ pTempNode = pNode; while(pNode) { if(符合条件) if(pNode->next!=NULL) { pTempNode->next=pNode->next; delte pNode; } else pTempNode->next = NULL; pTempNode=pNode; pNode=pNode->next; } VS2012设置问题 开机启动项(注册表问题) 多线程端口扫描有问题! 在控制台程序中怎样创建一个窗体? 请问下,VC中如何汉字排序呢? ODBC 添加数据的问题 多线程的问题,求教! 如何能够捕捉到程序的退出 关于录音输入设备选择 请问如何设置CFileDialog打开文件时的初始路径 关于语法提示的问题,在线等待! 当网络未连接时用windows API能否正常获取本机IP和MAC地址?
是自己做的链表?还是mfc里的?
例如:
pNode=(CMI_FlowManage *)G[uiIndex];//一个链表头结点
pTempNode=pNode->next;
while(pTempNode!=NULL)
{
if(符合条件)
{
如何删除
继续下个结点
}
}
注意当头结点满足条件如何删除???(链表中有可能都满足条件,此条件不用考虑)
pTempNode = pNode;/*用pTempNode保存当前节点的前一个节点,因为当前节点可能要删除,就利用前一个节点直接=当前节点的下一个节点就可以删除当前节点*/
pTempNode = pNode;
while(pNode)
{
if(符合条件)
if(pNode->next!=NULL)
{
pTempNode->next=pNode->next;
delte pNode;
}
else
pTempNode->next = NULL;
pTempNode=pNode;
pNode=pNode->next;
}