#include <stdio.h>
#include <stdlib.h>
struct node{
int data;
struct node *next;
};
node * InitLink()
{
node *p,*head,*newNode;
head = (node*)malloc(sizeof(node));
p = head;
int array[] = {1,133,313,122,11,12,22,85,52};
int i = 0;
while(i<sizeof(array)/sizeof(int))
{
newNode = (node*)malloc(sizeof(node));
newNode->data = array[i];
p->next = newNode;
p = p->next;
p->next = NULL;
i++;
}
head = head->next;
return head;
}
void print(node *head){
node *p = head;
if(head!=NULL)
{
while(p!=NULL)
{
printf("%d\n",p->data);//122,133,313,122,11,12,22,85,52
p = p->next;
}
}
};
node *deleteNode(node *head,int num)
{
node *p1 ,*p2;
p1 = head;
while(num!=p1->data&&p1->next!=NULL)
{
p2 =p1;
p1 = p1->next;
}
if(num == p1->data)
{
if(p1 == head)
{
head = head->next;
free(p1);
}
else
{
p2->next = p1->next;
free(p1);
}
}
else
printf("%d couldn't be found\n",num);
return head;
}
int main()
{
node *head = InitLink();
head = deleteNode(head,52);
print(head);
return 0;
}
分享到:
相关推荐
C语言实现单链表(常规操作) LinkList CreateHeadListH(); // 头插法创建单链表 LinkList CreateHeadListT(); // 尾插法创建单链表 int ListEmpty(); // 单链表判空 int ListLength(); // 求单链表长度...
本文将详细介绍如何使用C语言实现单向链表结点的逐个删除。 首先,我们要了解单向链表的基本概念。单向链表是由一系列节点组成的线性结构,每个节点包含两部分:数据域和指针域。数据域存储着节点的数据信息,而...
在C语言中实现单链表通常涉及以下几个步骤:定义数据结构、初始化链表、添加节点、删除节点、获取链表长度、获取特定节点的值以及打印链表。以下是详细的知识点: 1. 单链表的定义:在C语言中,单链表由一系列节点...
在C语言中,单链表是一种基础且重要的数据结构,它在编程中有着广泛的应用。本文将详细解析如何使用C语言来实现单链表,并涵盖了19种不同的操作功能,帮助你深入理解这一核心概念。 单链表由一系列节点组成,每个...
通过这些基本操作,你可以构建和操作简单的C语言单链表。在学习过程中,理解指针和动态内存分配的重要性是至关重要的,因为它们是实现链表的关键。此外,实践编写和调试这些操作的代码将有助于加深对链表工作原理的...
对给定的单链表 L ,设计一个算法,删除 L 中值为 x 的结点的直接前驱结点
单链表的接本操作,有在单链表中插入,删除数据的功能,以及两个单链表的合并,多项式的表达。1.单链表的数据结构的建立实现。...3.单链表元素结点删除操作实现。 4.实现单链表的合并。 5.实现一元多项式的相加。
以下是一个简单的C语言单链表实现,包括插入、删除、遍历和打印链表功能: ```c #include #include // 定义链表节点结构 typedef struct Node { int data; struct Node* next; } Node; // 创建新节点 Node* ...
在C语言中,单链表是一种基础且重要的数据结构,用于存储动态集合。单链表中的每个元素称为节点,...通过练习创建、插入、删除和打印单链表,你可以提高对C语言和数据结构的理解,这对成为一名优秀的C程序员至关重要。
下面我们将详细探讨如何在C语言中实现单链表的建立、查找、求长度、插入、删除、输出、清空和销毁等操作。 1. **建立单链表** 要创建一个单链表,首先需要定义一个结构体类型,表示链表节点。通常我们定义一个`...
总之,"学生信息管理系统(C语言单链表实现)"是一个综合性的编程练习,涵盖了C语言编程基础、数据结构(尤其是单链表)、动态内存管理以及基本的用户交互设计等多个方面。通过这个项目,学生可以全面提升自己的编程...
下面我们将深入探讨单链表的原理、创建、插入、删除等操作,并结合提供的C语言源文件进行解析。 首先,我们需要定义链表的节点结构。在C语言中,这通常通过结构体来实现。结构体中包含数据域(用于存储数据)和指针...
以上就是C语言中实现单链表的基本步骤,包括定义节点结构、初始化链表、插入和删除节点,以及在主函数中进行测试。理解并掌握这些概念对于学习更复杂的算法和数据结构至关重要。在实际编程中,还需要注意内存管理,...
总之,这个"C语言单链表"项目提供了一个完整的实践示例,展示了如何在C语言中有效地操作和管理单链表,同时结合文件操作扩展了链表的实用性。通过理解和掌握这些基本操作,开发者可以在更复杂的程序设计中灵活运用...
C语言对单链表的初始化、判断是否为空、表长、输出表、单链表的头插法、单链表的尾插法、插入元素、生成新节点、删除元素、查找元素、修改元素、清空表、释放表空间。
在给定的“C语言单链表.pdf”文件中,它详细介绍了如何使用C语言来实现单链表的各种操作,包括创建、遍历、删除、插入和查找。下面将深入解释这些知识点。 首先,单链表的每个节点由两部分组成:数据域(data)和...
1. **C语言单链表**: - 单链表是一种线性数据结构,其中每个元素(节点)包含两部分:数据域(存储通讯录联系人信息)和指针域(指向下一个节点的地址)。 - 在C语言中,链表节点通常通过结构体来定义,例如: `...
2. 删除节点:找到要删除节点的前一个节点,更新它的next指向被删除节点的next。 3. 遍历链表:从头节点开始,通过逐个访问next指针遍历所有节点。 4. 查找节点:从头节点开始,逐个比较数据域直到找到目标节点或...
本话题将深入探讨如何在C语言中使用单链表,并实现一个特定的删除算法。 首先,单链表是一种线性数据结构,其中每个元素(节点)包含两个部分:数据域和指针域。数据域存储实际的值,而指针域指向链表中的下一个...