应用数据结构(一)线性表节点的插入和删除算法

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 snowcloud2002 的 blog

线性表节点的插入和删除算法

'作者:snowcloud2002
'插入节点
'函数名称: nodeinsert(pos as integer, num as integer, tablename as variant) as boolean
'参数:      pos as integer要插入节点的位置,num as integer要插入的数值,tablename as variant线性表名称
'返回值:    boolean

function nodeinsert(pos as integer, num as integer, tablename as variant

    '改变源线性表长度:插入结点后线性表长度加一
    redim preserve tablename(ubound(tablename) + 1)
    '对线性表中第i个元素到最后一个元素的位置后移一位
    for i = (ubound(tablename)) to (pos + 1) step -1
        if i < 1 or i > (ubound(tablename)) then
        insert = false
        exit function
        else
        tablename(i) = tablename(i - 1)
        end if
    next
    '将要插入的元素放到第i个位置
    tablename(i) = num
    insert = true
end function

'删除节点
'函数名称:  nodedelete(pos as integer, tablename as variant) as boolean
'参数:      pos as integer要删除节点的位置,tablename as variant线性表名称

'返回值:    boolean
function nodedelete(pos as integer, tablename as variant) as boolean
    '对线性表中第i个元素到最后一个元素的位置前移一位
    for i = pos to (ubound(tablename))
        if i < 1 or i > (ubound(tablename)) then
        delete = false
        exit function
        else
        tablename(i - 1) = tablename(i)
        end if
    next
    '改变源线性表长度:删除结点后线性表长度减一
    redim preserve tablename(ubound(tablename) - 1)
    delete = true
end function

===============================================
欢迎大家发表看法,有问题的地方大家请指正,谢谢!
===============================================

 

本文关键:数据结构 线型表 VB
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top