李二瓶 发表于 2017-11-23 16:30:27

数据结构临界点问题

本帖最后由 李二瓶 于 2017-11-27 00:38 编辑

学习数据结构的时候,我总会记不住一些边界点到底是要加一还是减一,亦或者是不用变。要是一不小心就会在这些地方出错了,请问有什么解决的办法吗?
例如说下面这段函数:
//向线性表指定位置插入一个新元素
int ListInsert(LIST &L, int pos, DataType item)
{//pos为插入的(逻辑)位置,item为待插入的数据元素
        int i;
        if(L.length>=LISTSIZE){                  //判表满
                cout<<"顺序表满,无法插入!"<<endl;
      return 0;}
        if(pos<=0 || pos>L.length+1){         //判位置
                cout<<"插入位置无效!"<<endl;
                return 0;}
        for(i=L.length-1;i>=pos-1;i--)   //向后移动元素
                L.items=L.items;
        L.items=item;                            //插入       
    L.length++;                                    //表长增一
        return 1;
}
加一减一我已经混乱了

BngThea 发表于 2017-11-23 16:55:34

你可以用最简单的特例去测试
页: [1]
查看完整版本: 数据结构临界点问题