动态演示数组去重算法的执行过程,展示如何删除重复元素并保留第一次出现的元素
该算法用于消除数组中的重复元素,保留每个元素的第一次出现位置。
1. 初始化结果数组 b[],所有元素设置为原始数组的第一个元素 a[0]
2. 从原始数组的第二个元素开始遍历(索引 i=1)
3. 对于每个元素 a[i],检查它是否在结果数组 b[] 中已经存在
4. 如果不存在(计数为0),则将当前元素添加到结果数组的 ptr 位置,并递增 ptr
5. 最终,结果数组 b[] 的前 ptr 个元素即为去重后的数组
// 初始化结果数组
for (int i = 1; i <= x; i++) {
b[i] = a[1];
}
int ptr = 2;
// 遍历原始数组
for (int i = 2; i <= x; i++) {
temp = a[i];
count = 0;
// 检查元素是否在结果数组中
for (int j = 1; j <= x; j++) {
if (temp == b[j]) {
count++;
}
}
// 如果未找到重复,则添加到结果数组
if (count == 0) {
b[ptr] = a[i];
ptr++;
}
}