遍历你生成的那个链表,每访问一个item,你就create一个item并且将这些新的item按照已有链表的顺序链起来就行了

解决方案 »

  1.   

    你为什么要向cnzdgs提问呢?你只要重复一次创建的过程就是了啊
      

  2.   

    memcpy... ...内存,无所谓是不是动态生成的。
      

  3.   

    谢谢,1楼 2楼
    to 1楼 你说的方法我考虑过,感觉比较麻烦,数据多的时候可能会很慢to 2楼 我在Unix 中用过memcpy,但是没用过动态数据的拷贝,我看看你说的 “参考深拷贝和浅拷贝“
      

  4.   

    复制链表就是用一个循环从头开始遍历源链表的所有节点,循环中先用new构造一个节点,再把原节点中的数据复制过来,如果遇到指针,就再用new分配一块内存并复制指针指向的数据,如果指针指向的数据中还含有指针,就再分配内存来复制,最后把新的节点插入新的链表最后,然后继续循环。
      

  5.   

    :)
    to sea2001 
    经过多层次操作后的 链表的数据已经和开始创建时的数据不相同了谢谢,cnzdgs用memcpy 可以实现复制链表的功能吗?
      

  6.   

    如果链表节点中的数据都是基本数据类型就可以用memcpy,如果有指针或者类对象时就不能直接memcpy了。
      

  7.   

    参考stl或者MFC容器类的代码。