求一个算法:我有两个vector, 我想要实现这样让他俩比较,如果第一二个vector中都有的元素,就保留.
若第一个vector中有,而第二个vector没有的项目,从第一个vector中删除该项,若是第一个vector中没有,第二个vector中有的项就添加该项进入第一个vector。

解决方案 »

  1.   

    这里的一和二是两个结构,我是想要一第一个vector做基准(记录本)记录下第二个vector中的变化样子。
      

  2.   

    楼主,其实你的算法就是要求交换两个Vector 元素。这里假设A、B两个VECTOR,他们的公共元素是C,
    则A有而B没有的元素可以写作A-C= A1;
    则B有而A没有的元素可以写作B-C= B1;依据题意:
    完成上面的算法以后^A = C+B1 = C+B-C = B
                      ^B = C+A1 = C+A-C =  A因此,算法很简单,就是交换vector元素而已。
      

  3.   

    不是交换,是把vector2赋值给vector1,没有对vector2进行操作。如果要记录变化的话,
    1)两个vector中都有的从vector1中删除
    2)vector1中没有,vector2中有的项加入vector1
    这样才对
      

  4.   

    主要的问题是你的vector数据量有多大,该部分代码运行频率有多大,是否为速度上的关键性代码。如果数据量小,运行次数不是很多,就无所谓啦,遍历都可以;就看你自己的设计目标了