标准库中list的用法

阅读: 评论:0

标准库中list的用法

标准库中list的用法

标准库中list的用法

转自

.html


#include<list>

#include<iostream>
struct student{
  char *name;
  int age;
  char *city;
  char *tel;
};
int main(void)
{
 
 student s[4] = {
  {"贺礼东",25,"西安","13720557841"},
  {"白娟娟",24,"西安","13720557840"},
  {"石安磊",25,"江西","13389254661"}
 
 };
 using namespace std;
 list<student>l;
 //初始化列表
 l.push_back(s[0]);
 l.push_back(s[1]);
 l.push_back(s[2]);
 
 //遍历列表&&只能使用迭代器的方式&&
 cout<<"姓名 年龄  城市 电话"<<endl;
 cout<<"--------------------------------------"<<endl;
 list<student>::iteratori,j;
 j&#d();
 for(i=l.begin();i!=j;i++)
 {
  cout<<(*i).name<<" ";
  cout<<(*i).age<<" ";
  cout<<(*i).city<<" ";
  cout<<(*i).tel<<" "<<endl;
 }
 cout<<"--------------------------------------"<<endl;
 
 student s0[] ={
  {"贺东亭",24,"渭南","0913-3668115"}
 };
 l.push_back(s0[0]);
 for(i=l.begin();i!=j;i++)
 {
  cout<<(*i).name<<" ";
  cout<<(*i).age<<" ";
  cout<<(*i).city<<" ";
  cout<<(*i).tel<<" "<<endl;
 }
 cout<<"--------------------------------------"<<endl;
 student s1[] ={
  {"弟 弟",20,"渭南","0913-3794220"}
 };
 l.push_front(s1[0]);
 for(i=l.begin();i!=j;i++)
 {
  cout<<(*i).name<<" ";
  cout<<(*i).age<<" ";
  cout<<(*i).city<<" ";
  cout<<(*i).tel<<" "<<endl;
 }
 cout<<"--------------------------------------"<<endl;
 //链表删除
 
 list<student>::iteratorx,y;
 x=l.begin();
 x++;
 l.erase(x);
   for(i=l.begin();i!=j;i++)
 {
  cout<<(*i).name<<" ";
  cout<<(*i).age<<" ";
  cout<<(*i).city<<" ";
  cout<<(*i).tel<<" "<<endl;
 }
 cout<<"--------------------------------------"<<endl;
 
 list<student>::reverse_iteratora,b;
 a&#d();
 for(b=l.rbegin();b!=a;b++)
 {
       cout<<(*b).name<<" ";
  cout<<(*b).age<<" ";
  cout<<(*b).city<<" ";
  cout<<(*b).tel<<" "<<endl;
 }
 cout<<"--------------------------------------"<<endl;
 list<char>lc0;
 list<char>lc1;
 lc0.push_back('a');
 lc0.push_back('b');
 lc1.push_back('z');
 lc1.push_back('w');
 list<char>::iteratoraa,bb,cc;
 aa&#d();
 cc&#d();
 for( bb=lc0.begin();bb!=aa;bb++)
 {
  cout<<(*bb)<<endl;
 }
   cout<<"--------------------------------------"<<endl;
 for( bb=lc1.begin();bb!=cc;bb++)
 {
  cout<<(*bb)<<endl;
 }
   cout<<"--------------------------------------"<<endl;
 //交换函数swap()
 lc0.swap(lc1);
 list<char>::iteratorii,jj,yy;
 ii&#d();
 jj&#d();
    for(yy=lc0.begin();yy!=ii;yy++)
 {
  cout<<(*yy)<<endl;
 }
   cout<<"--------------------------------------"<<endl;
 for( yy=lc1.begin();yy!=jj;yy++)
 {
  cout<<(*yy)<<endl;
 }
  cout<<"--------------------------------------"<<endl;
   //链表的归并
  list<int> li0;
  list<int> li1;
   for(inta0=0;a0<10;a0++)
   {
   li0.push_back(a0);
   }
  list<int>::iterator i0,i1;
   i0&#d();
  for(i1=li0.begin();i1!=i0;i1++)
   {
   cout<<(*i1)<<" ";
   }
  cout<<endl<<"--------------------------------------"<<endl;
   for(inti3=0;i3<5;i3++)
   {
   li1.splice(li1.begin(),li0,li0.begin());//li0中的li0.begin()位置的元素将被删除,将添加到li1.begin()位置
   }
  for(i1=li0.begin();i1!=i0;i1++)
   {
   cout<<(*i1)<<" ";
   }
  cout<<endl<<"--------------------------------------"<<endl;
  list<int>::reverse_iteratori2,i4;
   i2&#d();
  for(i4=li1.rbegin();i4!=i2;i4++)
   {
   cout<<(*i4)<<" ";
   }
  cout<<endl<<"--------------------------------------"<<endl;
   (li1);
  for(i1=li0.begin();i1!=i0;i1++)
   {
   cout<<(*i1)<<" ";
   }
  cout<<endl<<"--------------------------------------"<<endl;
   //链表的排序
   li0.sort();
  for(i1=li0.begin();i1!=i0;i1++)
   {
   cout<<(*i1)<<" ";
   }
  cout<<endl<<"--------------------------------------"<<endl;
  //li0.unique()函数是将li0中连续重复的元素只保留一个
   return 0;
}

本文发布于:2024-01-31 09:53:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170666599127664.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:库中   标准   list
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23