编写一个函数从一定的向量A中删除元素值在最小跟最大之间的所有元素

来源:互联网 发布:js object to date 编辑:程序博客网 时间:2024/05/17 07:24

解题的思路:从下表0开始扫描向量A,以K记录元素值在x到y之间的元素个数,对于不满足该条件的元素,前移k个位置,最后返回向量的新长度,这样比没删除一个元素后立即移动其后元素效率高一些.


void Delete_Between(sqlist &A,int mink,int maxk)

{

int i,k,j; k=0;

for(i=0;i<A.length;i++)

if(A.elem[i]>=mink &&A.elem[i]<=maxk)

{

k++;max=i

}

for(i=max+1;i<A.length;i++)

A.elem[i-k]=A.elem[i];

A.length=A.length-k;

}

0 0
原创粉丝点击