C++各容器的语法及特点

来源:互联网 发布:淘宝推广 猪八戒网 编辑:程序博客网 时间:2024/06/05 06:22

int main()

{

***************************************************************************************

array不可变长,array在内存中是连续的
数组
 array<int,3>MyArray={1,2,4};//定义了一个int型,数组元素数为3的数组
    auto MBegin=MyArray.begin();//从数组的首地址开始自动
    array<int,3>::iterator mend=MyArray.end();//迭代
    for(;MBegin!=mend;MBegin++)//判断开始位置不等于结束位置,打印
    {
     cout<<*MBegin<<endl;
    }


    return 0;
***************************************************************************************
数组反转
    auto RBegin=MyArray.rbegin();//自动开始
    array<int,3>::reverse_iterator rend=MyArray.rend();//迭代器,获取反转的末尾结束
    for(;RBegin!=rend;RBegin++)//循环,打印
    {
        cout<<*RBegin<<endl;
    }
    return 0;
***************************************************************************************
列表,内存是不一定连续的,可变长
 list<int> ls={1,3,6,8};//list在声明时没有长度
   auto Lbegin=ls.begin();//设置指针,从首位置开始
   auto lend=ls.end();//获取末尾位置指针
   for(;Lbegin!=lend;Lbegin++)//打印出指针遍历的值
   {
   cout<<*Lbegin<<endl;
   }
    return 0;
***************************************************************************************
//栈,先进后出
stack<int>st;//声明一个栈的对象
st.push(11);//利用PUSH将值添加到栈中
st.push(22);
st.push(33);


while (!st.empty())//while循环打印。当栈不为空时执行下面的循环
{
int tp=st.top();//获取栈中的top位置的值
cout<<tp<<endl;//打印top位置的值
st.pop();//将当前top位置的值移出栈
}
    return 0;
***************************************************************************************


//队列,先进先出
queue<int>que;//声明一个队列的对象
que.push(12);//利用PUSH将值添加到队列中
que.push(23);
que.push(34);


while (!que.empty())//while循环打印。当队列不为空时执行下面的循环
{
int tp=que.front();//获取队列中的front位置的值
cout<<tp<<endl;//打印top位置的值
que.pop();//将当前top位置的值移出栈
}
    return 0;
***************************************************************************************

//set自动消除重复数据,并自动排序

//写法同list,这里我就不多写了

}

0 0