//
// Created by liyunlong on 25-3-19.
//
#include <bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(0);
void PrintFArr(vector<int> & arr)
{
for (int i=0;i<arr.size();i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}
bool cmp(const int a,const int b)
{
return a>b;
}
void sovle()
{
vector<int> arrs={11,1,2,3,4,5,5,5,5,6,6,6,7,7,7,7,9,7,8,9};
int len=arrs.size();
// int len2=arrs.length()
cout<<"动态的数组的长度"<<len<<endl;
sort(arrs.begin(),arrs.end());
cout<<"sort升序排列后的数组为";
PrintFArr(arrs);
// 降序排列
sort(arrs.rbegin(),arrs.rend());
cout<<"降序排列后的数组为"<<endl;
PrintFArr(arrs);
// 还原为升序
sort(arrs.begin(),arrs.end());
// 降序排列方法二 利用回调函数
sort(arrs.begin(),arrs.end(),cmp);
PrintFArr(arrs);
// 删除数组最后一个元素
arrs.pop_back();
cout<<"删除数组最后一个元素后的数组"<<endl;
PrintFArr(arrs);
// 获取数组最前面的一个元素 和获取数组最后一个元素
int first_element=arrs.front();
int last_element=arrs.back();
cout<<"数组的第一个元素是"<<first_element<<" "<<"数组最后一个元素是"<<last_element<<endl;
// 在数组后面追加一个元素的方法
arrs.push_back(8);
cout<<"在数组最后面追加一个元素8"<<endl;
PrintFArr(arrs);
arrs.insert(arrs.begin(),100);
cout<<"在数组开始位置插入一个元素100"<<endl;
PrintFArr(arrs);
arrs.insert(arrs.end(),200);
cout<<"在数组末尾位置插入一个元素200"<<endl;
PrintFArr(arrs);
// 找到目标元素第一次出现的位置的下标
int index_first_six =find(arrs.begin(),arrs.end(),6)-arrs.begin();
cout<<"找到6第一次出现的下标"<<index_first_six<<endl;
auto it=find(arrs.begin(),arrs.end(),6);
cout<<" 不知道"<<*it<<endl;
// 删除指定元素
arrs.erase(remove(arrs.begin(),arrs.end(),6),arrs.end());
cout<<"删除所有6"<<endl;
PrintFArr(arrs);
auto its= find(arrs.begin(),arrs.end(),5);
arrs.insert(its,250);
cout<<"在指定元素前面插入目标元素";
PrintFArr(arrs);
// 统计某个元素出现的额次数
int sum=count(arrs.begin(),arrs.end(),7);
cout<<"元素7出现了"<<sum<<"次"<<endl;
// 反转数组
reverse(arrs.begin(),arrs.end());
cout<<"反转后的数组序列"<<endl;
PrintFArr(arrs);
// 统计数组中的元素的总和
int he= accumulate(arrs.begin(),arrs.end(),0);
cout<<"数组元素的总和为"<<he<<endl;
int max_value=*max_element(arrs.begin(),arrs.end());
int min_value=*min_element(arrs.begin(),arrs.end());
cout<<"数组中元素的最大值"<<max_value<<" "<<"最小值"<<min_value<<endl;
// 数组去重
auto its3= unique(arrs.begin(),arrs.end());
arrs.erase(its3,arrs.end());
cout<<"去重后的数组"<<endl;
PrintFArr(arrs);
}
int main()
{
IOS;
sovle();
return 0;
}
C++中的Vector 的应用
于 2025-03-19 20:41:15 首次发布