IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言,删除数据域超出范围的结点 -> 正文阅读

[C++知识库]C语言,删除数据域超出范围的结点

该程序原理:

该程序的原理就是,通过比大小来确定是否删除结点

删除算法如图

该算法的代码如下:

	struct LNode *b;
	b=a;//*  *a为原链表  *//
	while(b->next)
	{
		if(!((b->next->data<maxk)&&(b->next->data>mink)))//*通过比大小确认是否删除该结点
		{
			struct LNode *c;
			c=b->next;//*储存该结点
			b->next=c->next;//*如上图所示
			free(c);//*释放其内存
		}
		else
		{
			b=b->next;//*指向下一个结点
		}
	}

完整代码如下:

#include <stdio.h>
#include <stdlib.h>
#define mink 10
#define maxk 25
struct LNode 
{
	int data;
	struct LNode *next;
};
struct LNode *a0()
{
	struct LNode *a;
	a=(struct LNode*)malloc(sizeof(struct LNode));
	a->next=NULL;
}
struct LNode *a1()
{
	struct LNode *a,*b;
	a=a0();
	b=a;
	int c[]={1,3,6,10,13,16,17,18,20,24,25,26,27,30},d;
	for(d=0;d<sizeof(c)/sizeof(int);d++)
	{
		struct LNode *e;
		e=a0();
		e->data=c[d];
		b->next=e;
		b=e;
	}
	return a;
}
struct LNode *a2(struct LNode *a)
{
	struct LNode *b;
	b=a;
	while(b->next)
	{
		if(!((b->next->data<maxk)&&(b->next->data>mink)))
		{
			struct LNode *c;
			c=b->next;
			b->next=c->next;
			free(c);
		}
		else
		{
			b=b->next;
		}
	}
	return a;
}
main()
{
	char aa[]="Math Dash的链表排除结点程序";
	char bb[strlen(aa)+6];
	sprintf(bb,"title %s",aa);
	system(bb);
	puts(aa); 
	struct LNode *a,*b;
	a=a1();//*创建单链表
	b=a->next;
	printf("原链表\n");
	while(b)
	{
		printf("%d\n",b->data);
		b=b->next;
	}
	a=a2(&(*a));//*检查是否超出范围
	b=a->next;
	printf("更改后的链表\n");
	while(b)
	{
		printf("%d\n",b->data);
		b=b->next;
	}
	system("pause");
	return 0;
}

程序运行结果如下:

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 11:45:37  更:2021-08-13 11:48:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 2:34:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码