删除线性表中所有值为x的数据元素

时间:2022-06-07
本文章向大家介绍删除线性表中所有值为x的数据元素,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
voide del_x_l(SqlList &L,Elemtype x){
    int k=0;//记录值不等于x的元素个数
    for(i=0;i<L.length;i++){
        if(L.data[i]!=x){
            L.data[k]=L.data[i];
            k++;//不等于x的元素增1
        }
    }
    L.length=k;
}




voide del_x_2(SqlList &L,Elemtype x){
    //用K记录顺序表L中等于X的元素个数,便扫描L边统计K,并将不等于X的元素前移k个位置,最后修改L的长度
    int k=0,i=0;//记录值等于x的元素个数
    while(i<L.length){
        if(L.data[i]==x)
            K++;
        else
            L.data[i-k]=L.data[i];//当前元素前移K个位置
        i++;
    }
    L.length=L.length-k;
}