【源代码】C++算法(五)一维数组去重(复杂度为n且不新开辟空间)

日常说明:首先博主也是菜鸟一枚,有错误欢迎大家指正。另外本博客所有的代码博主编写后均调试
通过。重要提醒!!!!博主使用的是VS2017,如果有低版本的小伙伴
最好新建空项目将此代码复制上去。

更多算法请关注我的算法专栏https://blog.csdn.net/column/details/20417.html
【源代码】C++算法(五)一维数组去重(复杂度为n且不新开辟空间)_第1张图片
arr_uni.cpp

#include
#include
#include 
using namespace std;
/**********************************
* algorithms.cpp :数组去重,复杂度O(n),未开辟新的空间 *
* author : shilei                 *
* created : 2018.3.26            *
***********************************/

void array_uni()
{
    int n;
    int *arr;
    cout << "请输入数组元素个数:";
    cin >> n;
    cout << endl;
    arr = new int[n];
    cout << "请输入"<"个整型数据元素:";
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    sort(arr, arr + n);
    int k = 0;
    for (int i = 1; iif (arr[i] !=arr[k])
        {
            arr[++k] = arr[i];
        }
    }
    n = k + 1;
    cout << endl;
    cout << "**********去重后剩下" << n << "个元素***********" ;
    cout << endl;
    cout << endl;
    cout << "排序,去重后的数据元素:";
    for (int i = 0; i cout << arr[i] << " ";
    }

};
int main()
{
    array_uni();
    cout << endl;
    cout << endl;
    return 0;
}

你可能感兴趣的:(数据结构C++,数据结构与算法C++实现)