- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
next;"的逻辑-6ren"> next;"的逻辑-该程序创建一个在开头插入的链表,并具有一个 deleteall(key) 函数,该函数将删除具有该键值的所有节点 #include #include struct node{ int da-6ren">
该程序创建一个在开头插入的链表,并具有一个 deleteall(key)
函数,该函数将删除具有该键值的所有节点
#include <stdio.h>
#include <stdlib.h>
struct node{
int data;
struct node* next; //creation a linked list with insertion at beginning
};
struct node* head = NULL;
int totaldeleted = 0;
void create(n) {
int i;
struct node *newnode, *temp;
newnode = (struct node*)malloc(sizeof(struct node));
printf("Enter the data: ");
scanf("%d", &newnode -> data);
newnode -> next = NULL;
if(head==NULL){
head=newnode;
}
temp = head;
for(i=2; i<=n; i++){
int data;
newnode = (struct node*)malloc(sizeof(struct node));
printf("Enter the data: ");
scanf("%d", &data);
newnode -> data = data;
newnode -> next = NULL;
newnode -> next = head;
head = newnode;
}
}
void display(){
struct node* temp;
printf("\nThe Linked list is: ");
temp = head;
while(temp!= NULL){
printf("%d", temp -> data);
temp = temp -> next;
}
}
int deleteall(key){
struct node *prev, *cur;
if(head == NULL){
prev = NULL;
cur = NULL;
printf("\nList is empty!");
}
while(head != NULL && head->data == key){
prev = head;
head = head -> next;
free(prev);
totaldeleted++;
}
prev = NULL;
cur = head;
while(cur != NULL){
if(cur->data == key && prev != NULL){
prev -> next = cur->next;
free(cur);
cur = prev->next; // I cannot understand this logic.
totaldeleted++;
}
else {
prev = cur;
cur = cur -> next;
}
}
return totaldeleted;
}
int main(){
int n, key;
printf("Enter the number of nodes: ");
scanf("%d", &n);
create(n);
display();
printf("\nEnter the key: ");
scanf("%d", &key);
totaldeleted = deleteall(key);
printf("Total deleted: %d", totaldeleted);
display();
printf("\n");
}
最佳答案
就在该行之前,cur
指向已删除节点 - 该节点现已释放,因此 cur
指针的值不确定。我们希望将 cur
指向已删除节点后面的节点。如果它没有被删除,我们可以从cur->next
获取它。但是,cur->next
无效。我们可以在 free
...
cur->next
的值
但是,在free
之前有这样一行:
prev -> next = cur->next;
即现在我们需要的值已经分配到了 prev->next
中,因此我们不需要临时变量,但可以从 prev->next
中获取它。
关于c - 我不明白deleteall(key)函数中这条语句 "cur = prev->next;"的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51579890/
我查阅了整个 jQuery 文档,但没有找到任何内容:是否可以搜索当前元素之前具有特定类的元素?我以为这会起作用,但事实并非如此: $(this).prev('.bar'); http://jsfid
如何避免 .prev().prev().prev() 调用?有捷径吗? 最佳答案 您可以将 .prevAll 与 eq 或 :eq 结合使用,因为 prevAll 返回一组从最接近当前元素 [0] 的
目前我正在尝试使用 Node 运行一个非常基本的待办事项列表。设置 package.json 和 server.js 后,我运行了 npm start run,但出现了一个奇怪的错误。 更新:这是基本
我有一个名为 Scores 的表: mysql> select * from Scores; +------+-------+ | Id | Score | +------+-------+ |
我对这段代码有疑问: poss = [6,9,20] for n in range(6,66): if(n%6) == 0 or (n%9) == 0 or (n%20) == 0:
我正在阅读 React 钩子(Hook)的示例。我发现他们写 setCount(count + 1) 但我通常是这样写的 setCount(prev => prev + 1) 有什么区别吗?哪一个更好
如何使用 prev() 选择前一个元素?我希望当我点击icon 1时它会删除span。 html.erb # inside a loop -- notice the loop!. icon 1
我有这个 html 代码: 1 require 'yaml' 2 require 'set' 3 4 module ActiveRecord #:nodoc: 5
如何避免双重释放或损坏 (!prev) 我有这些结构: 空设备,始终有效 static struct mixer null_mixer = { .set_device = null_set_d
I get the following error when running a c program: * Error in `./final': double free or corruption
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: jquery find closest previous sibling with class 下面给出的代
我在一个文件中有这样的代码... $d = new db(); class db { function fetchform() { global $wpdb; $con
我想在点击事件中将类添加到最近的 p: http://jsfiddle.net/d7gFf/2/ 但这无法向 p 元素添加或删除类。点击事件有什么问题。 提前致谢 最佳答案 closest()搜索祖先
我在 jQuery 中使用 prev() 时遇到问题,它没有选择正确的元素。 我的HTML结构如下: ... ... “事件”部分是#contact。我想选择上一节,跳过
首先,我使用名为listrec的结构定义了节点。因此,每个节点包含3个部分:prev(用于存储前一个节点的地址),value(用于存储值)和next(用于存储下一个节点的地址)。 #include
我正在尝试删除以下代码的最后两个中断标记实例: Link stupid font tag Someth
代码: h4 inside anchor This is a sibling paragraph of that anchor which had h4 in it
鉴于这个简单的设置 I'm spoiled I'm spoiled 当我检测到对类“uncle”的点击时,我想获取最近的前一个“.parent”的同级。我应该可以做到 $(
当我使用 $('#btn').prev().text('new string'); 单击按钮时,我成功更改了按钮值但我不知道为什么应该使用 .prev() 根据http://api.jquery.co
我正在尝试使用 jQuery 获取输入值。在我的真实代码中,我有更多的输入和按钮,因此像: .middle() 这样的代码将不起作用!我需要从 btn 向上遍历。 HTML Help Alert
我是一名优秀的程序员,十分优秀!