当前位置: 代码迷 >> C语言 >> 顺序表的一个程序,请大家一起来写一下!
  详细解决方案

顺序表的一个程序,请大家一起来写一下!

热度:356   发布时间:2006-06-07 19:41:00.0
顺序表的一个程序,请大家一起来写一下!

有顺序表A和B,其元素均从小到大的升序排列,编写一个C语言程序将他们合并成一个顺序表C,要求C的元素也是从小到大升序排列.
基本酸法如下:
void merge(Seqlist a,seqlist B, seqlist*c)
{int i,j,k;
while(i<=A.last&&j<=B.list)
if(A.data[i]<B.data[j])
c->data[k++]=A.data[i++];
else
C->data[k++]=B.data[j++];
while(i<=A.last)
C->data[k++]=A.data[i++];
while(j<=B.last)
c->data[k++]=B.data[j++];
C->last=k-1;
}
请高手帮忙写一下!!

搜索更多相关的解决方案: 顺序表  seqlist  last  元素  

----------------解决方案--------------------------------------------------------
void merge(Seqlist a,seqlist B, seqlist*C)
{
int i=0,j=0,k=0;
while(i<=A.last||j<=B.last)
if(A.data[i]<B.data[j])
C->data[k++]=A.data[i++];
else
C->data[k++]=B.data[j++];
C->last=k-1;
}
我对数据结构了解不多。感觉是这样.
----------------解决方案--------------------------------------------------------
回复:(吉祥如意)
以下是引用吉祥如意在2006-6-7 19:41:00的发言:

有顺序表A和B,其元素均从小到大的升序排列,编写一个C语言程序将他们合并成一个顺序表C,要求C的元素也是从小到大升序排列.
基本酸法如下:
void merge(Seqlist a,seqlist B, seqlist*c)
{int i,j,k;
while(i<=A.last&&j<=B.list)
if(A.data[i]<B.data[j])
c->data[k++]=A.data[i++];
else
C->data[k++]=B.data[j++];
while(i<=A.last)
C->data[k++]=A.data[i++];
while(j<=B.last)
c->data[k++]=B.data[j++];
C->last=k-1;
}

名不正则言不顺。此类型的题目理应发往数据结构与算法论坛,那论坛很强。

[此贴子已经被作者于2006-6-8 4:46:21编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案