赞
踩
从顺序表中删除其值在给定值s与t之间(包括s和t,且s<t)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。
从前往后扫描顺序表L,用k记录元素值在[s,t]的元素的个数,对于不在其中的元素,前移k个位置
否则执行k++
为什么前移k个位置?
这k个数刚好是要删除的数的个数
- bool del(SqList &L,int s,int t){
- int i,k=0;
- if(L>length==0||s>=t){
- return false;
- }
- for(i=0;i<L.length;i++){
- if(L.data[i]>=s&&L.data[i]<=t){
- k++;
- }else{
- L.data[i-k]=L>data[i];
- }
- }
- L.length=L.length-k;
- return true;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。