美文网首页考研数据结构
从无序顺序表中删除指定区域的元素

从无序顺序表中删除指定区域的元素

作者: 飞白非白 | 来源:发表于2018-12-04 23:30 被阅读0次
// 从前向后扫描顺序表a,用k记录下元素值在s到t之间元素的个数
// 对于当前扫描的元素,若其值不在s到t之间,则向前移k个位置

void del_2(int *a, int &n, int s, int t)
{
    int k = 0, i = 0;
    
    while(i < n)
    {
        if(a[i] >= s && a[i] <= t)
            ++k;
        else
            a[i-k] = a[i];          //当前元素向前移动k个位置 
        ++i;
    }
    n -= k;
}



相关文章

网友评论

    本文标题:从无序顺序表中删除指定区域的元素

    本文链接:https://www.haomeiwen.com/subject/snybcqtx.html