`
mylove2060
  • 浏览: 335878 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C 单链表删除节点

阅读更多
#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语言实现单链表(常规操作)

    C语言实现单链表(常规操作) LinkList CreateHeadListH(); // 头插法创建单链表 LinkList CreateHeadListT(); // 尾插法创建单链表 int ListEmpty(); // 单链表判空 int ListLength(); // 求单链表长度...

    单向链表结点的逐个删除-C语言教程

    本文将详细介绍如何使用C语言实现单向链表结点的逐个删除。 首先,我们要了解单向链表的基本概念。单向链表是由一系列节点组成的线性结构,每个节点包含两部分:数据域和指针域。数据域存储着节点的数据信息,而...

    C语言单链表的实现

    在C语言中实现单链表通常涉及以下几个步骤:定义数据结构、初始化链表、添加节点、删除节点、获取链表长度、获取特定节点的值以及打印链表。以下是详细的知识点: 1. 单链表的定义:在C语言中,单链表由一系列节点...

    C语言单链表实现19个功能完全详解.zip_C语言_C语言单链表_单链表

    在C语言中,单链表是一种基础且重要的数据结构,它在编程中有着广泛的应用。本文将详细解析如何使用C语言来实现单链表,并涵盖了19种不同的操作功能,帮助你深入理解这一核心概念。 单链表由一系列节点组成,每个...

    C语言单链表实现

    通过这些基本操作,你可以构建和操作简单的C语言单链表。在学习过程中,理解指针和动态内存分配的重要性是至关重要的,因为它们是实现链表的关键。此外,实践编写和调试这些操作的代码将有助于加深对链表工作原理的...

    对单链表删除前驱结点

    对给定的单链表 L ,设计一个算法,删除 L 中值为 x 的结点的直接前驱结点

    数据结构单链表实验(C语言)

    单链表的接本操作,有在单链表中插入,删除数据的功能,以及两个单链表的合并,多项式的表达。1.单链表的数据结构的建立实现。...3.单链表元素结点删除操作实现。 4.实现单链表的合并。 5.实现一元多项式的相加。

    c语言单链表 程序源码

    以下是一个简单的C语言单链表实现,包括插入、删除、遍历和打印链表功能: ```c #include #include // 定义链表节点结构 typedef struct Node { int data; struct Node* next; } Node; // 创建新节点 Node* ...

    C语言单链表创建打印

    在C语言中,单链表是一种基础且重要的数据结构,用于存储动态集合。单链表中的每个元素称为节点,...通过练习创建、插入、删除和打印单链表,你可以提高对C语言和数据结构的理解,这对成为一名优秀的C程序员至关重要。

    c语言 单链表的各个功能

    下面我们将详细探讨如何在C语言中实现单链表的建立、查找、求长度、插入、删除、输出、清空和销毁等操作。 1. **建立单链表** 要创建一个单链表,首先需要定义一个结构体类型,表示链表节点。通常我们定义一个`...

    学生信息管理系统(c语言单链表实现)

    总之,"学生信息管理系统(C语言单链表实现)"是一个综合性的编程练习,涵盖了C语言编程基础、数据结构(尤其是单链表)、动态内存管理以及基本的用户交互设计等多个方面。通过这个项目,学生可以全面提升自己的编程...

    C语言单链表的实现源文件

    下面我们将深入探讨单链表的原理、创建、插入、删除等操作,并结合提供的C语言源文件进行解析。 首先,我们需要定义链表的节点结构。在C语言中,这通常通过结构体来实现。结构体中包含数据域(用于存储数据)和指针...

    c语言单链表的实现及测试

    以上就是C语言中实现单链表的基本步骤,包括定义节点结构、初始化链表、插入和删除节点,以及在主函数中进行测试。理解并掌握这些概念对于学习更复杂的算法和数据结构至关重要。在实际编程中,还需要注意内存管理,...

    C.rar_C语言单链表

    总之,这个"C语言单链表"项目提供了一个完整的实践示例,展示了如何在C语言中有效地操作和管理单链表,同时结合文件操作扩展了链表的实用性。通过理解和掌握这些基本操作,开发者可以在更复杂的程序设计中灵活运用...

    C语言单链表的实现代码

    C语言对单链表的初始化、判断是否为空、表长、输出表、单链表的头插法、单链表的尾插法、插入元素、生成新节点、删除元素、查找元素、修改元素、清空表、释放表空间。

    C语言单链表.pdf

    在给定的“C语言单链表.pdf”文件中,它详细介绍了如何使用C语言来实现单链表的各种操作,包括创建、遍历、删除、插入和查找。下面将深入解释这些知识点。 首先,单链表的每个节点由两部分组成:数据域(data)和...

    c语言单链表实现通讯录,支持保存数据到文件加载数据到文件

    1. **C语言单链表**: - 单链表是一种线性数据结构,其中每个元素(节点)包含两部分:数据域(存储通讯录联系人信息)和指针域(指向下一个节点的地址)。 - 在C语言中,链表节点通常通过结构体来定义,例如: `...

    c语言数据结构单链表的算法

    2. 删除节点:找到要删除节点的前一个节点,更新它的next指向被删除节点的next。 3. 遍历链表:从头节点开始,通过逐个访问next指针遍历所有节点。 4. 查找节点:从头节点开始,逐个比较数据域直到找到目标节点或...

    C语言数据结构 单链表的删除算法

    本话题将深入探讨如何在C语言中使用单链表,并实现一个特定的删除算法。 首先,单链表是一种线性数据结构,其中每个元素(节点)包含两个部分:数据域和指针域。数据域存储实际的值,而指针域指向链表中的下一个...

Global site tag (gtag.js) - Google Analytics