栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言实现两顺序表的合成

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言实现两顺序表的合成

#include
#include
#define maxsize 100
typedef int datatype;
typedef struct{
	datatype a[maxsize];
	int size;
	
}sequence_list;

//置空顺序表
void init(sequence_list *p){
	p->size=0;
} 
//添加元素
void append(sequence_list *slt,int x){
	if(slt->size==maxsize){
		printf("顺序表已满n");
		exit(0);
	}
	slt->a[slt->size]=x;
	slt->size++;
} 

//展示操作
void display(sequence_list slt){
	if(slt.size==0){
		printf("顺序表为空n");
		exit(0);
	}
	for(int i=0;isize+p2->size>maxsize){
    	return false;
	}
	else{
		int k=0,m=0,n=0;
		while(msize&&nsize){
			if(p1->a[m]a[n]){
				p3->a[k]=p1->a[m];
				m++;k++;
			}
			else{
				p3->a[k]=p2->a[n];
				k++;n++;
			}
		}
		while(msize){
			p3->a[k++]=p1->a[m++];
		}
		while(nsize){
			p3->a[k++]=p2->a[n++];
		}
		p3->size=k;
	
	}
 }
//主函数窗口 
int main(){
	sequence_list s1,s2,s3;
	init(&s1);
	init(&s2);
	for(int i=1;i<=5;i++){
		append(&s1,i*10);
		append(&s2,i*9);
	}
	
	display(s1);
	printf("n");
	display(s2);
	init(&s3);
	merge(&s1,&s2,&s3);
	printf("n");
	display(s3);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691721.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号