区别顺序表的清空和销毁两个操作

区别顺序表的清空和销毁两个操作

清空操作,把表中的元素清空,但已表结构依然存在于内存中,它的实现方法是:

Status ClearList_Sq(SqList &L)

{

   L.length = 0;

         return(OK);

}

因为插入、删除、查找等操作都会对参数有一个类似限制条件:if(i>L.length || i<1),这样就保证了在把length设为0后,其他操作就不能访问到原来的那些元素(实质上原来的元素还是在内存空间里的,如果直接用索引去访问,任然可以把元素读取出来的),那么就可以认为length=0的表是空表,此条件也就是判断表是否为空的唯一依据。

销毁操作,则是把表的整一个结构给消灭掉,把原来所占有的内存空间都给释放出来,它的实现是:

Status DestroyList_Sq(SqList &L)

{

         //ifthis list is init then destroy it

         if(L.elem){

                   free(L.elem);

                   L.elem= NULL;

                   L.length= 0;

                   L.listsize= 0;

         }

   //else return error_msg

         else{

                   return(ERROR);

         }

 

         return(OK);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值