C++ STL vector
程序员文章站
2022-03-23 14:59:51
...
#include <bits/stdc++.h>
using namespace std;
void print(int e)//输出某个元素
{
cout<<e<<" ";
}
bool compare(int a,int b)//比较
{
return a>b;//从大到小
}
int main()
{
vector<int> v;
int choice,e,a,b,position,j;
vector<int>::iterator i;//迭代器
while(true)
{
cout<<"1.在最后添加元素\n"
"2.删除最后一个元素\n"
"3.输出第一个元素\n"
"4.遍历\n"
"5.清空所有元素\n"
"6.输出元素个数\n"
"7.判断是否为空\n"
"8.删除指定元素\n"
"9.排序(从大到小)\n"
"10.排序(从小到大)\n"
"11.在指定位置插入数据\n"
"12.修改指定位置元素\n"
"13.替换\n";
cin>>choice;
switch(choice)
{
case 1:cout<<"请输入要添加的元素:";cin>>e;v.push_back(e);break;
case 2:v.pop_back();break;
case 3:cout<<v.front()<<"\n";break;
case 4:for_each(v.begin(),v.end(),print);cout<<"\n";break;
case 5:v.clear();break;
case 6:cout<<v.size()<<"\n";break;
case 7:v.empty()?cout<<"空\n":cout<<"不空\n";break;
case 8:cout<<"请输入要删除的元素:";cin>>e;
for(i=v.begin();i!=v.end();i++)
{
if(*i==e)
{
v.erase(i);
}
}
break;
case 9:sort(v.begin(),v.end(),compare);break;
case 10:sort(v.begin(),v.end());break;
case 11:cout<<"请输入要插入的位置:";cin>>position;
cout<<"请输入要插入的元素:";cin>>e;
j=0;
for(i=v.begin();i!=v.end();i++)
{
j++;
if(j==position)
{
v.insert(i,e);
}
}
break;
case 12:cout<<"请输入要修改的位置:";cin>>position;
cout<<"请输入要修改的元素:";cin>>e;
j=0;
for(i=v.begin();i!=v.end();i++)
{
j++;
if(j==position)
{
*i=e;
}
}
break;
case 13:cout<<"请输入要替换的元素:";cin>>position;
cout<<"请输入替换后的元素:";cin>>e;
j=0;
for(i=v.begin();i!=v.end();i++)
{
if(*i==position)
{
*i=e;
}
}
break;
default:cout<<"输入有误,请重新输入\n";
}
}
return 0;
}
/*******************************************************************************
* 小柳学渣
* 2019/1/23&&24
******************************************************************************/
上一篇: 浅析javascript中Reflect内置对象(代码详解)
下一篇: 在js 中的有哪几种继承方法