当前位置:首页 > 芯闻号 > 充电吧
[导读]#include#include#define ElemType int #define Status int #define OK 1 #define FALSE 0 typedef struct

#include#include#define ElemType int
#define Status int
#define OK 1
#define FALSE 0

typedef struct LNode{
	ElemType data;
	struct LNode *next;
}LNode,*LinkList;

//创建一个容量为size的单链表
Status Create_List(LinkList l,int size)
{
	int i=0;
	if(!l)
		return FALSE;
	l->next =NULL;
	while(idata=0;
		p->next = l->next;
		l->next = p;
		i++;
	}
	return OK;
}

//遍历输出单链表的所有元素
Status OutPut_List(LinkList l)
{
	LinkList p;
	if(l ==NULL)
	{
		printf("no noden");
	}
	p=l->next; 
	printf("输出所有节点的数据n");
	while(p!=NULL)
	{
		printf("%d ",p->data);
		p = p->next;
	}
	printf("n");
	return OK;
}

//输入单链表的节点元素size个
Status Input_List(LinkList l,int size)
{
	LinkList p;
	int i=0;
	p = l->next;
	if(size <=0)
	{
		printf("error sizen");
		return FALSE;
	}

	printf("输入所有节点的数据n");
	while(idata);
		p = p->next;
		i++;
	}
	return OK;
}

//在指定位置i处插入一个节点数据
Status Insert_List(LinkList l,int i,ElemType e)
{
	LinkList p;
	int j=1;
	p=l->next;
	if(i<0)
	{
		printf("Error in");
		return FALSE;
	}

	while(j < i)
	{
		p = p->next;
		j++;
	}
	LinkList q=(LinkList)malloc(sizeof(LNode));
	q->next = p->next;
	p->next = q;
	q->data = e;
	return OK;
}

//在指定位置i处删除节点
Status Delete_List(LinkList l,int i)
{
	LinkList p,q;
	int j=1;
	p= l;
	if(i<0)
	{
		printf("Error in");
		return FALSE;
	}
	while(j < i)
	{
		p =p->next;
		j++;
	}
	q = p->next;
	p->next = q->next;
	free(q);
	return OK;
}

//清空单链表所有的节点
Status Clear_List(LinkList l)
{
	LinkList p,q;
	p=l->next;
	while(p)
	{
		q = p->next;
		free(p);
		p = q;
	}
	l ->next = NULL;
	return OK;
}

//返回单链表的长度
Status Length_List(LinkList l)
{
	LinkList q;
	int i=0;
	q=l->next;
	while(q!=NULL)
	{
		i++;
		q = q->next;
	}
	printf("length is %dn",i);
	return i;
}

//合并2个单链表(升序)
Status Merge_List(LinkList la,LinkList lb,LinkList lc)
{
	LinkList pa,pb,pc;
	pa = la->next;
	pb = lb->next;
	pc = lc;
	pc->next =NULL;

	while(pa && pb)
	{
		if(pa->data >= pb->data)
		{
			pc->next = pb;
			pc = pb;
			pb = pb->next;
		}
		else
		{
			pc->next = pa;
			pc = pa;
			pa = pa->next;
		}
	}
		pc->next =pa?pa:pb;
	return OK;
}

int main(void)
{
	LinkList la = (LinkList)malloc(sizeof(LNode));
	LinkList lb = (LinkList)malloc(sizeof(LNode));
	LinkList lc = (LinkList)malloc(sizeof(LNode));
	int size=0;
	int i=0,e=1111,d=0;
	printf("input sizen");
	scanf("%d",&size);
	Create_List(la,size);
	Input_List(la,size);
	Create_List(lb,size);
	Input_List(lb,size);
	//Create_List(lc,6);
	Merge_List(la,lb,lc);
	OutPut_List(lc);

	return 0;
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

全新的专有模型导入功能让客户更轻松地将其专属模型导入到Amazon Bedrock中,从而充分利用Amazon Bedrock的强大功能。全新的模型评估功能使客户能够广泛且便捷地选择完全托管模型,包括RAG优化的新版Am...

关键字: 生成式AI 基础模型 数据

2024年4月17日,中国 – 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)将在2024年4月25日欧洲证券交易所开盘前公布202...

关键字: 半导体 数据

数据占满我们的电子设备已成常态,为了满足广大用户的需求,NAS应运而生。然而,对于许多普通用户来说,NAS设备的设置和使用却常常令人望而却步。不过,铁威马TOS 6的出现,不仅功能强大,而且操作简便,即使是初次接触NAS...

关键字: 数据 电子设备 NAS

机器学习作为人工智能领域的重要组成部分,其过程涉及到多个核心环节。本文将详细阐述机器学习的四个主要步骤:数据准备、模型选择、模型训练与评估,以及模型部署与应用,以揭示机器学习从数据到应用的完整流程。

关键字: 数据 人工智能 机器学习

机器学习算法是人工智能领域中的核心技术之一,它通过对大量数据进行学习,自动发现数据中的规律和模式,从而实现对新数据的预测、分类、聚类等任务。本文将深入探讨机器学习算法的基本过程,包括数据准备、模型选择、训练与评估等关键步...

关键字: 数据 人工智能 机器学习

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

随着人工智能(AI)技术的迅速发展,人们对于通用人工智能(AGI,即Artificial General Intelligence)的期待也日益高涨。通用人工智能指的是具备像人类一样全面智能的计算机系统,能够执行各种复杂...

关键字: 人工智能 计算机 数据

Java语言和C语言是两种不同的编程语言,它们在语法、特性和应用领域上有许多差别。下面将详细介绍Java语言和C语言之间的差异以及它们各自的技术特点。

关键字: Java语言 C语言 编程

嵌入式系统是一种专门设计用于特定应用领域的计算机系统,它通常由硬件和软件组成,并且被嵌入到其他设备或系统中,以实现特定的功能。在嵌入式系统的开发过程中,选择适合的编程语言是至关重要的。C语言是一种被广泛应用于嵌入式系统开...

关键字: 嵌入式 计算机 C语言

C语言是一种广泛应用于软件开发领域的编程语言。它是由贝尔实验室的Dennis Ritchie在20世纪70年代初创建的,旨在为UNIX操作系统的开发提供一种高级编程语言。C语言具有简洁、高效、可移植性强等特点,因此成为了...

关键字: C语言 操作系统 应用程序
关闭
关闭