C++入门程序作业1

时间:2023-03-10 06:17:31
C++入门程序作业1

将一个int A[]={ ,  ,  ,}定义的可能重复的数字去掉重复的元素。

了解向量,容器如何使用,size,地址的关系,理解unique erase函数的返回值是什么参数

结果:将1,1,1,2,2,2,3,3,3,4,4,4,5,5,5消去变成1,2,3,4,5

#include <iostream>
#include <cassert>
#include <algorithm>
#include <vector>
#include <string>
#include <iterator>
using namespace std;

int main()
{

//cout<<"Illustrating the generic unique algorithm."<<endl;
const int N=15;
int array1[N]={1,1,1,2,2,2,3,3,3,4,4,4,5,5,5};
vector<int> vector1;
for (int i=0;i<N;++i)
vector1.push_back(array1[i]);
// cout<<array1<<endl;
vector<int>::iterator new_end;
new_end=unique(vector1.begin(),vector1.end()); //"删除"相邻的重复元素
cout<<*new_end<<endl;

for (int i=0;i<vector1.size();i++)
cout << vector1[i] << " "; //
cout << endl;

return 0;
}

-------------------------------------------------------------------- --------------------------------------------------------------------

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>

using namespace std;

void main()
{
int A[12] = {1,1,1,2,2,2,3,3,3,4,4,4};
vector<int> a;

for (int i=0;i<12;i++)
a.push_back(A[i]);

for (int i=0;i<a.size();i++)
cout << a[i] << " "; //
cout << endl;

a.erase(unique(a.begin(),a.end()),a.end());
for (int i=0;i<a.size();i++)
cout << a[i] << " "; //
cout << endl;
//

}