`
mylove2060
  • 浏览: 330643 次
  • 性别: 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语言)

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

    C语言单链表的实现代码

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

    对单链表删除前驱结点

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

    c语言 单链表的各个功能

    完成单链表的建立、查找、求长度、插入、删除、输出,清空,销毁等函数的功能

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

    1、利用尾插法创建一个类型为字符型的带头结点的单链表。 2、删除上述单链表中指定位置的元素。 3、要求:屏幕上分别显示删除前、后的单链表中元素列表;从键盘输入指定的删除位置。

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

    从单链表中删除表头结点,并把该结点的值返回,若删除失败则停止程序运行 *//* 15.从单链表中删除表尾结点并返回它的值,若删除失败则停止程序运行 *//* 16.从单链表中删除第pos个结点并返回它的值,若删除失败则...

    C语言单链表高级程序设计

    编写函数,实现输入一组元素,建立一个带头结点的单链表;对该链表进行非递减排序;实现在非递减有序链表中删除值为x的结点。

    从单链表中删除节点数值作为函数参数C和指针第十二章编程练习5

    从单链表中删除节点数值作为函数参数C和指针第十二章编程练习5,VC6.0编译通过

    lianbiao.rar_C语言单链表_通用链表

    用c语言编写的通用链表,采用单链表方式,内容包含创建节点,添加节点,查找链表,删除链表

    实验报告2 单链表的操作

    4. 从键盘输入1个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结果。 5. (★)输入两个单链表,将一个单链表连在另一个单链表的后面。 6. (★)已知两个单链表有序,将此两个单链表合并成一个新的...

    数据结构c语言版单链表的创建和输出

    (1)键盘输入n,建立长度为n的单链表并输出; (2)键盘输入x。在单链表中查找值为x的结点并删除,最后输出链表。

    从单链表中删除节点指向欲删除的结点的指针作为函数参数C和指针第十二章编程练习5

    从单链表中删除节点指向欲删除的结点的指针作为函数参数C和指针第十二章编程练习5,VC6.0

    C实现删除链表中指定结点

    C实现删除链表中指定结点,可以指定结点的值

    数据结构单链表插入、删除和修改实验报告

     操作结果:删除已有的单链表的某些结点。 (3)display  操作结果:将上述输入的元素进行排列显示。  (4)modify  操作结果:将上述输入的某些元素进行修改。  (5)save  操作结果:对上述所有元素进行保存...

    06删除单链表结点.cpp

    06删除单链表结点.cpp

    C语言实现单链表,单链表操作

    单链表操作:1.创建单链表 2.遍历单链表 3.获取单链表的长度 4.判断单链表是否为空 5.获取节点 6.在尾部插入指定元素 7.在指定位置插入指定元素 8.在头部插入指定元素 9.在尾部删除元素 10.删除所有元素 11.删除指定...

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

    C语言实现单链表 Init(初始化) Length(当前结点个数) AddEnd(尾部添加) AddFirst(首部添加) Insert(插入) * Delete(删除) Find(查找返回) ShowAll(显示所有元素) Destory(销毁链表)

    c语言版数据结构单链表操作

    单链表操作 [基本要求] (1)建立带表头结点的单链表; (2)输出单链表中所有结点的数据域值; (3)输入x,y在第一个数据域值为x的结点之后插入结点...(4)输入k,删除单链表中所有的结点k,并输出被删除结点的个数。

Global site tag (gtag.js) - Google Analytics