std::deque简单使用

  • 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;
}

运行结果:
在这里插入图片描述

发布了365 篇原创文章 · 获赞 80 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/Giser_D/article/details/103823097
今日推荐