当删除链表中存在多个字符串时,它会给出运行时错误,参见案例4,当链表中只有一个节点时,如果存在多个节点,则会有正确的删除,然后它会给出运行时错误
$.fn.modal.Constructor.prototype.enforceFocus = function () {
var $modalElement = this.$element;
$(document).on('focusin.modal', function (e) {
var $parent = $(e.target.parentNode);
if ($modalElement[0] !== e.target && !$modalElement.has(e.target).length
// add whatever conditions you need here:
&&
!$parent.hasClass('cke_dialog_ui_input_select') && !$parent.hasClass('cke_dialog_ui_input_text')) {
$modalElement.focus()
}
})
};
答案 0 :(得分:0)
我认为以下是您的问题。 如果列表是这样的,你希望删除元素3:
1 -> 2 -> 3 ->NULL
然后在第二次迭代prev
指向2
,temp
指向3
。
在你的代码中,即
else
{
prev->next=temp->next;
(temp->next)->back=prev;
free(temp);
count--;
flag=1;
printf("\n data is deleted \n");
}
更准确地说,在(temp->next)->back=prev;
语句中,您正在访问back
temp->next
,其中temp->next
恰好为NULL。我认为这是你错误的根源!