| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 799 人关注过本帖
标题:各位高手进来瞧瞧 【线性表的合并】!!!
只看楼主 加入收藏
未来简单爱
Rank: 2
等 级:论坛游民
帖 子:7
专家分:25
注 册:2009-11-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
各位高手进来瞧瞧 【线性表的合并】!!!


1. 线性表的合并:已知线性表La和Lb的元素按值非递减排列。归并La和Lb得到新的线性表Lc,Lc的元素也按值非递减排列。分别采用顺序存储结构和链式结构来实现。


哪位高手能够给一个程序【链式】  要求能够运行并且自己输入数据!!!  谢谢!!!
搜索更多相关主题的帖子: 线性 
2009-11-16 19:23
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:10 
我写了一个顺序的
                     
#include<stdio.h>
#define OVERFLOW 0
#define NULL 0
#define OK 1
#define MAXSIZE 1024
typedef int elemtype;
typedef struct
{
elemtype vec[MAXSIZE];
int len;
}sequenlist;
int createsqlist(sequenlist *L,int k)
{
int i;
for(i=0;i<k;i++)

scanf("%d",&L->vec[i]);
return OK;
}

int compositor(sequenlist *M,int k)    /*排序*/
{
int i,j,d,t;
for(i=0;i<k;i++)
{
d=i;
for(j=i;j<k;j++)
{
if((M->vec[j])>(M->vec[d]))
d=j;
}
t=M->vec[i];
M->vec[i]=M->vec[d];
 M->vec[d]=t;
}
return OK;
}

 int add(sequenlist *M,sequenlist *L,sequenlist *B)      /*合并*/
{
int i,j,k=0;
B->len=M->len+L->len;
for(i=0,j=0;;)
{
if(M->vec[i]>L->vec[j])
{
B->vec[k]=M->vec[i];
k++;
i++;
if(i>=M->len)
break;
}
else
{
B->vec[k]=L->vec[j];
k++;
j++;
if(j>=L->len)
break;
}
}
if(i>=M->len)
{
for(;j<=L->len;j++,k++)
B->vec[k]=L->vec[j];
}

if(j>=L->len)
{
for(;i<=M->len;i++,k++)
B->vec[k]=M->vec[i];

}
return OK;
}

void main()
{
int i,n,m;
sequenlist *L,a,*M,b,*B;
printf("\n Input the length of the list L:\n");
scanf("%d",&n);
L=&a;
L->len=n;
createsqlist(L,n);
 printf("\n Input the length of the list M:\n");
scanf("%d",&m);
 M=&b;
M->len=m;
createsqlist(M,m);
 compositor(M,m);
compositor(L,n);
  add(M,L,B);
printf("Output the list and its length B:\n");
for(i=0;i<B->len;i++)
printf("%d   ",B->vec[i]);
printf("\n This sequenlist's length is %d",B->len);
getch();
}
2009-11-19 18:23
快速回复:各位高手进来瞧瞧 【线性表的合并】!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021602 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved