C++ ->List容器的应用

List容器的应用:

//----------单链队列-------队列的链式存储结构---------------

typedef struct QNode{                                 typedef struct{

        QElemType data;                                       QueuePtr  front;   //队头指针

        struct QNode *next;                                    QueuePtr  rear;   //队尾指针

}QNode,*QueuePtr;                                      }LinkQueue;

注释:list(双向链表):用动态链式存放数据,可以从任何位置快速插入和删除元素。在插入数据时需定位 迭代子的位置和值,即:inset(“迭代子位置”,“迭代子的值”)。

一个简单的创建list链表的 例子:

#include<iostream>

#include<list>

#include<iterator>

Using namespace std;

Void main(){

List<int> L;

List<int>::iterator p;

int i,a[5]={1,2,3,4,5},b[3]={6,7,8}; 

p=L.begin();

for(i=0;i<5;i++){ L.insert(p,a[i]);  }

p=L.begin();

 while(p!=L.end())

 {  cout<<*p<<" "; p++;  }

 cout<<endl; 

 p=L.begin();         //用push_back()函数在已有list序列尾扩容(插入数组)

 for(i=0;i<3;i++){    L.push_back(b[i]);  }

 p=L.begin();          //用push_front()函数在已有list序列头扩容(插入数据)

   L.push_front(0);

 //p1=a1.begin();

   L.push_front(9);

 p=L.begin();     L.sort();

p=L.begin();

while(p!=L.end()){ cout<<*p<<”  “; p++; }

cout<<endl;

//L.pop_front(); L.pop_back();    //删除list头和 list尾

//L.begin();for(;p!=L.end();p++){ if(*p==1){ *p=5; } }  //修改不成功

}

猜你喜欢

转载自www.cnblogs.com/WE-ON-LINE/p/11735118.html
今日推荐