#include <iostream>
using namespace std;
void insertSort(int a[], int n) //插入排序
{
for(int i = 1; i < n; i++)
{
int j = i - 1;
int key = a[i];
while (a[j] > key && j >= 0)
{
a[j + 1] = a[j];
j--;
}
a[j+1] = key;
}
}
int removeDuplicates(int a[], int n) //对数组元素去重,返回去重后数组的长度
{
int index = 1;
for (int i = 1; i < n; i++) {
if (a[i] != a[index - 1])
a[index++] = a[i];
}
return index;
}
int main()
{
int a[10] = { 10,4,8,9,5,4,2,1,3,4 };
insertSort(a, 10); //先使用插入排序对数组元素进行升序排序
int len = removeDuplicates(a, 10); //去重
for (int i = 0; i < len; i++)
cout << a[i] << " ";
cout << endl;
cout << "len = " << len << endl;
system("pause");
return 0;
}
去除数组中重复的元素,并返回去重后数组的长度
最新推荐文章于 2023-03-18 12:37:22 发布