网上虽然有一些代码,但是很少而且有些缺陷,测试数据排序的时候有些数据不按序列排~~~~我需要可以任意添加元素,任意删除某个元素,然后可以自动排序的!不知道各位是否有这样的代码?  让小弟研究一下

解决方案 »

  1.   

    http://www.net0791.com/article/1213.htm
      

  2.   

    由于VB没有指针所以要实现链表的话只能用数组来模拟,把下标赋给NEXT指针,预先开出较大的数组,增加节点的时候把最先可用的数组元素交给它,删除节点就回收该元素,其他操作和链表标准操作一样,具体代码就不写了。排序就在INSERT时做。
      

  3.   

    VB 并不显示的支持指针,指针是不安全的,容易导致程序崩溃,
    建议用数组,数组和指针优缺点互补,指针能实现的数组也可以实现,没有必要去
    为了用指针而用指针.
    如为研究之用请参考:
    http://www.net0791.com/article/1213.htm
      

  4.   

    真正意义上的链表就和楼上说的一样。要用VARPTR和COPYMEMORY来实现。但是工作量真的很大。在对速度要求不高的情况下。你还是用数组模拟吧。这样比较容易,也比较好控制一些。
      

  5.   

    http://dev.csdn.net/develop/article/16/16430.shtm
    循环链表以及相关操作(VB实现)
      

  6.   

    http://www.csdn.net/develop/article/13/13113.shtm
    Matthew Curland的VB函数指针调用   顺便推荐你看看.
      

  7.   

    完全同意楼上意见:用varptr、copymemory加上:Private Declare Function LocalAlloc Lib "kernel32" Alias "LocalAlloc" (ByVal wFlags As Long, ByVal wBytes As Long) As LongPrivate Declare Function LocalLock Lib "kernel32" Alias "LocalLock" (ByVal hMem As Long) As LongPrivate Declare Function LocalFree Lib "kernel32" Alias "LocalFree" (ByVal hMem As Long) As Long或:Private Declare Function GlobalAlloc Lib "kernel32" Alias "GlobalAlloc" (ByVal wFlags As Long, ByVal dwBytes As Long) As LongPrivate Declare Function GlobalLock Lib "kernel32" Alias "GlobalLock" (ByVal hMem As Long) As LongPrivate Declare Function GlobalFree Lib "kernel32" Alias "GlobalFree" (ByVal hMem As Long) As Longtype SomeThing
        ...
    end Type和VC++6.0Win32项目编程也没大的差别
    略为麻烦罢了不如干脆用VC++6.0Win32写Dll然后VB调用算了
      

  8.   

    “真正意义上的链表就和楼上说的一样。要用VARPTR和COPYMEMORY来实现。”真正意义上的链表倒真是和如何分配内存没有一点关系,数据结构和任何具体的操作系统及编程语言没有本质联系。