双向链表的头插入和删除,结果一直删除不了

问题描述

双向链表的头插入和删除,结果一直删除不了
                    temp->prev->next=temp->next;
                    temp->next->prev=temp->prev;
                    free(temp);         //释放内存
                    temp=NULL;

    temp->next=meet_head.next;
  meet_head.next->prev=temp;
  meet_head.next=temp;
  temp->prev=&meet_head;

解决方案

楼主最好贴出完整代码,或者自己单步调试,看看是哪步不对。
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

解决方案二:

删除双向链表的头
双向链表插入与删除
双向链表插入删除

解决方案三:

请帖完整代码,至少是这个函数的完成代码,你只贴这么一段,无法猜测你定义的变量代表什么。

时间: 2024-10-28 04:38:16

双向链表的头插入和删除,结果一直删除不了的相关文章

链表相关问题。。1是删除,当删除头节点的时候,会出现死循环 2插入代码写好,但是没有实现插入的功能

问题描述 链表相关问题..1是删除,当删除头节点的时候,会出现死循环 2插入代码写好,但是没有实现插入的功能 int main(){ int i = 0; int place = 0; int nodeData; char c; struct Link *head = NULL;//指向链表头 printf(""Do you want to append a new node(Y/N)""); scanf("" %c""&am

链表的删除操作,删除头节点就会出问题 大家看看问题出在哪里呢

问题描述 链表的删除操作,删除头节点就会出问题 大家看看问题出在哪里呢 struct Link *DeleteNode(struct Link *head,int nodeData)//链表的删除 { struct Link *p = head,*pr = head; if (head == NULL)//首先需要判断链表是否为空!若空!无需执行删除操作! { printf("No Linked Table!n"); return(head); } while(nodeData !=

SQL Server删除表及删除表中数据的方法_MsSql

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

SQL Server删除表及删除表中数据的方法

本文介绍SQL Server中如何删除表,如何删除表中的数据.在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强.今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据. 删除表和删除表数据这是

邮箱的客户页面中“删除”和“永久删除”的实现

页面 删除和永远删除两个按钮的处理,一种方法是两个按钮分别指向两个处理页面,另一个是向同一页面加不中的参数.如果是不同的页面:<input type=button value="删除" onclick="delete()"><input type=button value="永久删除" onclick="ndelete()"><script>function delete(){documen

电脑用户怎么删除:批量删除计算机用户方法

 电脑用户怎么删除:批量删除计算机用户方法   可视化删除的方法 首先找到桌面我的电脑图标,右键选择管理,在打开的计算机管理窗口选择,本地用户组,如图1所示. 图1 打开本地用户和组,选择用户选项,可以看到窗口右边给人家恶意新建了N多个用户,如图2所示. 图2 从图中可以看到窗口中的下列菜单还可以往下一直拉,这么多用户删除到什么时候去,那就要批量删除了,选择其中一个用户,右键,选择属性,如图3所示. 图3

linux中如何删除rpm -e删除不了的包

linux中如何删除rpm -e删除不了的包,我们可以采用强制卸载的方法 1.如果在删除包之前删除了包的目录 rpm -e --noscripts 示例: [root@localhost /]# rpm -e --noscripts vsftpd 2.如果系统里一个包被装两次(由于某些异常引起的) rpm -e multi-installed-pkgs –allmatches 示例: [root@localhost /]# rpm -e multi-installed-pkgs –allmatc

点增加按钮就增加一个单元格 删除按钮就删除一个单元格 数据能保存下来 然后能导入数据库

问题描述 点增加按钮就增加一个单元格 删除按钮就删除一个单元格 数据能保存下来 然后能导入数据库 解决方案 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 无标题文档 var textNumber = 1; function addTextBox(form, a

[华为机试练习题]15.删除重复字符/删除重复字符串

题目 题目标题: 删除重复字符 给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串.需要保证字符出现的先后顺序,并且区分大小写. 详细描述: 接口说明 原型: int GetResult(const char *input, char *output) 输入参数: input 输入的字符串 输出参数(需考虑指针指向的内存区域是否有效): output 输出的字符串 返回值: 0 成功 -1 失败及异常 举例: 输入: abadcbad,那么该单词中红色部分的