// 函数名:DeleteX // 功能:删除顺序表中所有值为 x 的元素 // 参数:q,指向顺序表的指针 // x,待删除的元素值 // 返回值:无

void DeleteX(SeqList *q, ElemType x) { int a[q->length]; // 临时数组 a,用于存放删除 x 后的元素 int t = 0; // 临时变量 t,用于记录数组 a 中元素的个数

// 遍历顺序表中的元素,将非 x 值的元素存入数组 a 中
for (int i = 0; i < q->length; i++) {
    if (q->elem[i] != x) {
        a[t] = q->elem[i];
        t++;
    }
}

q->length = t;  // 将顺序表的长度更新为 t,即删除了 x 元素后的长度

// 将数组 a 中的元素存回顺序表中
for (int i = 0; i < t; i++) {
    q->elem[i] = a[i];
}

}

C语言顺序表删除元素算法:DeleteX 函数详解

原文地址: https://www.cveoy.top/t/topic/hY8P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录