题目:
编写一个具有老式风格接口的函数,其原型如下:
int reduce(long ar[],int n);
实参应是数组名和数组中的元素个数。改函数对数组进行排序,删除重复的值,返回缩减后数组中的元素数目。请使用STL函数编写改函数。使用一个小程序测试该函数
源代码:
#include <iostream>
#include <list>
int reduce(long ar[], int n);
int main()
{
long ar1[5] = { 45000,3400,450000,100000,2500 };
int resize = reduce(ar1, 5);
std::cout << "array1: \n";
for (int i = 0; i < resize; i++)
{
std::cout << ar1[i] << " ";
}
return 0;
}
int reduce(long ar[], int n)
{
std::list<long> ls;
ls.insert(ls.end(), ar, ar + n);
ls.sort();
ls.unique();
auto pd = ls.begin();
for (int i = 0; i < ls.size(); i++, pd++)
ar[i] = *pd;
return ls.size();
}
演示效果:
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈