注册 登录
编程论坛 C++教室

线性表的基础问题呀。?

bqgq 发布于 2009-09-27 19:03, 618 次点击
非递减线性表La,Lb的合并. Lc=La∪Lb

 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)   

用C++ 写出来啊。   



  作业题,   刚学啊,   不会     

  有会的高手帮忙写下呀   谢谢了
7 回复
#2
bqgq2009-09-27 19:06
  会的高手写下呀,  以后就在这个坛子里面学习学习嘞,
#3
BlueGuy2009-09-27 19:17
#include <iostream>
#include <list>
using namespace std;
 
int main ()
{
  
    int La[] = {3,5,8,11};
    int Lb[] = {2,6,8,9,11,15,20};
   
    list<int> first(La, La + sizeof(La) / sizeof(int) );
    list<int> second(Lb, Lb + sizeof(Lb) / sizeof(int) );
 
    first.sort();
    second.sort();
 
    first.merge(second);
 
    for (list<int>::iterator it = first.begin(); it!=first.end(); it++)
       cout << " " << *it;
    cout << endl;
 
    return 0;
}
#4
bqgq2009-09-27 23:40
不好意思。  网被室友借用去了,  现在才看到,   谢谢Blue MM 的热心回答。


 
 只是有点看不懂呢。     得加速充电啊。  



另外在我的机器上运行时 提示1个error ,   "eh.h is only for C++!"     


  无法编译呀。。。   

我确定我用的是VC++   啊
#5
pangding2009-09-27 23:52
eh.h 她也没用这个呀……
#6
BlueGuy2009-09-28 00:10
回复 4楼 bqgq
我确定你在把 C++代码 当作 C代码编译
#7
bqgq2009-09-28 01:11
回复 6楼 BlueGuy
打开C++  → 新建→  文件→  选择C++ Source File   然后确定 \ \\ 

 

 这样有问题吗??         


 
#8
bqgq2009-09-28 13:22
#include<stdio.h>
struct  
{
int a[20];
}b[3]={{3,5,8,11},{2,6,8,9,11,15,20},{0}};
 
main()
{
int i,j,k;
 
printf("线性表LA是:"); /* 输出线性表LA*/
for(i=0;i<4;i++)
printf("%d,",b[0].a[i]);
printf("\n");
 
printf("线性表LB是:"); /* 输出线性表LB*/
for(j=0;j<7;j++)
printf("%d,",b[1].a[j]);
printf("\n");
 
for(k=0;k<4;k++) /* 把线性表LA的值赋给LC*/
{
b[2].a[k]=b[0].a[k];
}
for(i=4;i<11;i++) /* 把线性表LB的值赋给LC*/
{
b[2].a[i]=b[1].a[i-4];
}
 
printf("并操作后的线性表LC是:"); /* 输出并操作后的线性表LC*/
for(j=0;j<11;j++)
printf("%d,",b[2].a[j]);
printf("\n");
 
}


解决了
同学帮忙写的。



 谢谢Blue MM   

 哈哈。。。   
1