美文网首页
C++ STL list 链表

C++ STL list 链表

作者: 小柳学渣 | 来源:发表于2019-01-27 00:19 被阅读0次
    #include <bits/stdc++.h>
    using namespace std;
    
    void print(int e)
    {
        cout<<e<<" ";
    }
    
    int main()
    {
        list<int> l;
        int choice,e; 
        while(true)
        {
            cout<<"1.头部插入元素\n"
                  "2.尾部插入元素\n"
                  "3.删除第一个元素\n"
                  "4.删除最后一个元素\n" 
                  "5.遍历\n"
                  "6.清空所有元素\n"
                  "7.判断是否为空\n"
                  "8.输出第一个元素\n"
                  "9.输出最后一个元素\n";
            cin>>choice;
            switch(choice)
            {
                case 1:cout<<"输入要插入的元素:";cin>>e;l.push_front(e);cout<<"插入成功\n";break;
                case 2:cout<<"输入要插入的元素:";cin>>e;l.push_back(e);cout<<"插入成功\n";break;
                case 3:if(!l.empty()){l.pop_front();cout<<"删除成功\n";}else cout<<"链表为空\n";break;
                case 4:if(!l.empty()){l.pop_back();cout<<"删除成功\n";}else cout<<"链表为空\n";break; 
                case 5:if(!l.empty())for_each(l.begin(),l.end(),print);else cout<<"链表为空";cout<<"\n";break;
                //case 5:if(!l.empty())for(list<int>::iterator i=l.begin();i!=l.end();i++)cout<<*i<<" ";else cout<<"链表为空";cout<<"\n";break;
                case 6:l.clear();cout<<"清除成功\n";break;
                case 7:cout<<(l.empty()?"空\n":"不空\n");break; 
                case 8:!l.empty()?cout<<l.front()<<"\n":cout<<"链表为空\n";break; 
                case 9:!l.empty()?cout<<l.back()<<"\n":cout<<"链表为空\n";break; 
                default:cout<<"输入错误,请重新输入!\n";
            } 
        }
        return 0;
    } 
    /************************************************
    *                 小柳学渣
    *             2019/1/23  13:16
    ************************************************/ 
    

    相关文章

      网友评论

          本文标题:C++ STL list 链表

          本文链接:https://www.haomeiwen.com/subject/goowjqtx.html