代码如下:
#include <stdio.h>
void removeDuplicates(int *array, int *size) {
if (*size <= 1) return;
int j = 0;
for (int i = 0; i < *size; i++) {
if (i == 0 || array[i] != array[i - 1]) {
array[j++] = array[i];
}
*size = j;
}
int main() {
int sequence[] = {1, 2, 2, 1, 1, 3, 4, 3, 2, 4, 5, 3, 4, 5, 4, 1};
int size = sizeof(sequence) / sizeof(sequence[0]);
printf("顺序表中原有: ");
for (int i = 0; i < size; i++) {
printf("%d ", sequence[i]);
}
printf("\n");
removeDuplicates(sequence, &size);
printf("顺序表中存储: ");
for (int i = 0; i < size; i++) {
printf("%d ", sequence[i]);
}
printf("\n");
return 0;
}
代码与运行结果如下:
