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

c语言实现两顺序表的合成,第1张

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);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5692206.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存