顺序表合并c语言-创新互联

例2-2;已知线性表LA和B中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC且LC中的数据元素仍按值非递减有序排列例如

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于企业网站制作,高端网页制作,对花箱等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业成都网站营销优化,H5建站,响应式网站。

LA=(3,5,8,11)

LB=(2,6,8,9,11,15,20)

则Lc(2,3,5,6,8,8,9,11,11,15,20)

//代码如下

#include
#include
#define MAXSIZE 50
typedef struct l
{
 int data[MAXSIZE];
 int length;//顺序表中当前的有效元素
 
}sqlist;

//初始化
void initlist(sqlist*l)
{
 
 int i;
 for (i=0;i  {
     l->data[i]=0;
     
 }
 l->length=0;
     
}

sqlist* creatlist(sqlist*l)
{
 
 int i,val;
 printf("请输入数据\n");
 printf("请输入数字,若输入下一个数字则输入空格,输入-1时停止\n");
 scanf("%d",&val);
     for (i=0;i      {
         if(val!=-1)
         {
         
         l->data[i]=val;
         l->length++;
         scanf("%d",&val);
         
         }
     }        
 return l;
}

void output(sqlist*l)
{
 
 int i;
 for (i=0;ilength;i++)
 {
     printf("%d\t",l->data[i]);
     
 }
 printf("\n");    
}
void mergelist(sqlist *l1,sqlist*l2,sqlist*l3)
{
 
int i,j;
int m;
i=0;
j=0;
int k=0;
m=0;
for(k=0;klength;k++)
{

while (l1->data[i]==l2->data[j]&&jlength )  
{
 
 l3->data[m]=l1->data[i];
 l3->data[m+1]=l2->data[j];
 l3->length = l3->length+2;
 
 m=m+2;
 i++;
 j++;
 
 
}

 
while (l1->data[i]data[j]&&ilength)

 {
 

    l3->data[m]=l1->data[i];
    i++;
    m++;
    l3->length++;
        
 }
 
 while (l1->data[i]>l2->data[j]&&jlength)
 {
     
     l3->data[m]=l2->data[j];
     j++;
     m++;
     l3->length++;
 
 }
 
 while(i>=l1->length&&jlength)
 {
     
     l3->data[m]=l2->data[j];
     m++;
     l3->length++;
     j++;
 }

}
     
}

int main()
{
 
 sqlist l1;
 sqlist l2;
 sqlist l3;
 initlist(&l1);
 initlist(&l2);
 initlist(&l3);
 creatlist(&l1);
 creatlist(&l2);
 output (&l1);
 output(&l2);
mergelist(&l1,&l2,&l3);
output(&l3); 
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

网站名称:顺序表合并c语言-创新互联
网站地址:https://www.cdcxhl.com/article36/dgjgpg.html

成都网站建设公司_创新互联,为您提供网站营销品牌网站设计面包屑导航微信公众号网站排名网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司