用c语言编写在有序数组中删除重复数据并返回去重后数组剩余元素个数
时间: 2023-05-21 11:05:38 浏览: 136
如何去除有序数组的重复元素.md
您好,以下是用C语言编写在有序数组中删除重复数据并返回去重后数组剩余元素个数的示例代码:
```c
int removeDuplicates(int* nums, int numsSize) {
if (numsSize <= 1) {
return numsSize;
}
int i = 0;
int j = 1;
while (j < numsSize) {
if (nums[j] != nums[i]) {
nums[++i] = nums[j];
}
j++;
}
return i + 1;
}
```
这是一种双指针的解法,其中 i 指向当前已经去重后的数组的最后一个元素的下标,j 则用于遍历数组。如果当前 j 指向的元素与 i 指向的元素不相等,则说明 j 指向了一个新的元素,需要将它放入去重后的数组中。最终,i+1 的值即为去重后数组中元素的数量。希望对您有帮助!
阅读全文