使用C++写一个数组去重
时间: 2024-05-13 10:20:32 浏览: 80
以下是使用C语言编写数组去重的示例代码:
```
#include <stdio.h>
int main() {
int arr[10] = { 1, 2, 3, 4, 3, 2, 5, 6, 4, 7 };
int n = 10;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n;) {
if (arr[j] == arr[i]) {
for (int k = j; k < n; k++) {
arr[k] = arr[k + 1];
}
n--;
} else {
j++;
}
}
}
printf("Array after removing duplicates: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该程序使用两个嵌套的for循环遍历数组中的每个元素,如果两个元素相等,则将后面的元素向前移动一个位置,同时将数组的长度减1。这样就可以在不使用额外空间的情况下,将数组中的重复元素去重。最后,程序输出去重后的数组。
相关问题
用C++写一个数组去重
下面是一个简单的C++代码,使用了STL中的vector来存储去重后的数组元素:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int arr[] = { 1, 2, 3, 2, 4, 1, 5, 4 };
int n = sizeof(arr) / sizeof(arr[0]);
vector<int> v(arr, arr + n);
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end());
cout << "去重后的数组为:";
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
去重后的数组为:1 2 3 4 5
```
你用c++写一个数组去重
好的,以下是一个使用C++语言对数组进行去重的示例代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {1, 2, 2, 3, 3, 5, 6, 6, 6};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n); // 先进行排序
int index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] != arr[index]) {
index++;
arr[index] = arr[i];
}
}
n = index + 1;
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
运行结果:
```
1 2 3 5 6
```
上面的代码使用了STL中的 `sort()` 函数进行排序,然后使用双指针的方法对数组进行去重,最后输出去重后的数组。
阅读全文