#include stdio.h#include stdlib.hstruct node {int data;struct node *next;};struct node *head = NULL;
编程学习网为您整理以下代码实例,主要实现:C语言更新单链表中的数据项,希望可以帮到各位朋友。
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node *next;
};
struct node *head = NulL;
struct node *current = NulL;
//Create linked List
voID insert(int data) {
// Allocate memory for new node;
struct node *link = (struct node*) malloc(sizeof(struct node));
link->data = data;
link->next = NulL;
// If head is empty, create new List
if(head==NulL) {
head = link;
return;
}
current = head;
// move to the end of the List
while(current->next!=NulL)
current = current->next;
// Insert link at the end of the List
current->next = link;
}
voID display() {
struct node *ptr = head;
printf("
[head] =>");
//start from the beginning
while(ptr != NulL) {
printf(" %d =>",ptr->data);
ptr = ptr->next;
}
printf(" [null]\n");
}
voID update_data(int old, int new) {
int pos = 0;
if(head==NulL) {
printf("linked List not initialized");
return;
}
current = head;
while(current->next!=NulL) {
if(current->data == old) {
current->data = new;
printf("
%d found at position %d, replaced with %d\n", old, pos, new);
return;
}
current = current->next;
pos++;
}
printf("%d does not exist in the List\n", old);
}
int main() {
insert(10);
insert(20);
insert(30);
insert(1);
insert(40);
insert(56);
display();
update_data(40, 44);
display();
return 0;
}
沃梦达教程
本文标题为:C语言更新单链表中的数据项
猜你喜欢
- 打印扩展的ASCII字符 1970-01-01
- 使用整数值初始化char类型的变量 1970-01-01
- C语言求模 1970-01-01
- 使用来自float.h和limits的数据,找到该系统的一些 1970-01-01
- C语言可使用的所有转义序列 1970-01-01
- C++浮点常数 1970-01-01
- C++指向数组的指针 1970-01-01
- 运算符优先级 1970-01-01
- 使用最流行的转义序列 1970-01-01
- “纯虚函数调用"在哪里?崩溃从何而来? 2022-10-18