deque可以支持前后插入 和前后删除,可以理解成是队列形式
使用代码
// ParamsDemo.cpp : 定义控制台应用程序的入口点。
// C++ 不定参数的方法实现
#include "stdafx.h"
using namespace std;
int sum(int count,...)
{
if(count<=0)
return 0;
va_list arg_ptr;
va_start(arg_ptr,count);
cout << count << endl;
int sum = 0;
for (int i=0;i<count;i++)
{
sum+=va_arg(arg_ptr,int);
}
va_end(arg_ptr);
cout << "sum is " << sum << endl;
return sum;
}
//输出不定参数,默认为int
// params_count :参数个数:
bool PrintParams(int params_count,...)
{
if (params_count < 0)
{
return 0;
}
//设置不定参数的类型
va_list args_ptr;
va_start(args_ptr,params_count); //设置补丁参数类型为int
for (int i = 0 ; i < params_count ; i++)
{
int val = va_arg(args_ptr,int);
cout << "" << val << endl;
}
va_end(args_ptr);
}
//数据结构Deque使用
bool DequeApplication()
{
//创建Deque
//队列。前后都可插入
deque<int> dd;
//添元素
dd.push_back(111);
dd.push_back(112233);
//输出元素
for (int i = 0; i < dd.size(); i++)
{
cout << dd[i] << endl;
cout <<"地址为"<< &dd[i] << endl;
cout << "实际内存地址" <<&(dd.at(i)) << endl;
}
dd.pop_back();
//输出元素
for (int i = 0; i < dd.size(); i++)
{
cout << dd[i] << endl;
cout <<"地址为"<< &dd[i] << endl;
cout << "实际内存地址" <<&(dd.at(i)) << endl;
}
dd.push_front(1233);
dd.push_front(112);
//输出元素
for (int i = 0; i < dd.size(); i++)
{
cout << dd[i] << endl;
cout <<"地址为"<< &dd[i] << endl;
cout << "实际内存地址" <<&(dd.at(i)) << endl;
}
return false;
}
int _tmain(int argc, _TCHAR* argv[])
{
//PrintParams(4,12,33,33,131);
DequeApplication();
system("pause");
return 0;
}
运行结果: