简单网站建设视频教程下载,嘉兴娱乐网页设计,为什么有的网站只有版权没有备案,宁波建设网站公司推荐链表是由一系列的结点组成#xff0c;结点包括两个域#xff1a;一个数据域#xff0c;一个指针域
1、链表内存是非连续的#xff0c;添加删除元素效率较高#xff0c;时间复杂度都是常数项#xff0c;不需要移动元素
2、链表只有在需要的时候才会分配内存
3、链表只要…链表是由一系列的结点组成结点包括两个域一个数据域一个指针域
1、链表内存是非连续的添加删除元素效率较高时间复杂度都是常数项不需要移动元素
2、链表只有在需要的时候才会分配内存
3、链表只要拿到第一个结点相当于拿到整个链表。最后一个结点指向为空
4、链表需要额外的空间保存结点关系。前驱 后继关系 #includeiostream
#includelist
using namespace std;
void PrintList(listint mlist4)
{for (listint::iterator it mlist4.begin(); it ! mlist4.end(); it) {cout *it ;}cout endl;
}
//初始化
void test01() {listint mlist1;listint mlist2(10, 2);listint mlist3(mlist2);listint mlist4(mlist2.begin(),mlist2.end());for (listint::iterator it mlist4.begin(); it ! mlist4.end(); it) {cout *it ;}cout endl;
}//插入和删除
void test02() {listint mlist;mlist.push_back(100);mlist.push_front(200);mlist.insert(mlist.begin(), 300);mlist.insert(mlist.end(), 400);listint::iterator it mlist.begin();it;it;mlist.insert(it, 500); //insert的第一个参数为迭代器cout -------------插入------------ endl;PrintList(mlist);//删除mlist.pop_back();mlist.pop_front();cout -------------pop_backpop_front删除------------ endl;PrintList(mlist);cout -------------erase第三个数删除------------ endl;mlist.erase(it);PrintList(mlist);cout -------------remove100删除------------ endl;mlist.push_back(100);mlist.push_front(100);PrintList(mlist);mlist.remove(100); //delete all the number which the value 100PrintList(mlist);mlist.erase(mlist.begin(), mlist.end()); //equal to mlist.clear()PrintList(mlist);
}//大小,赋值操作
void test03() {listint mlist1,mlist3;mlist1.assign(10, 1);mlist3.assign(10, 3);listint mlist2;mlist2 mlist1;mlist1.swap(mlist3);
}//排序 反转
void test04() {listint mlist;for (int i 0; i 10; i){mlist.push_back(i);}PrintList(mlist);cout 反转 endl;mlist.reverse();PrintList(mlist);
}
bool myCompare05(int v1,int v2) {return v1 v2;
}
//排序
void test05() {listint mlist;mlist.push_back(200);mlist.push_back(23);mlist.push_back(90);mlist.push_back(3434);PrintList(mlist);cout sort endl;mlist.sort(); //默认从小到大PrintList(mlist);//从大到小mlist.sort(myCompare05);PrintList(mlist);
}//算法sort 支持可随机访问的容器int main(int) {cout ------------test01------------- endl;test01();cout ------------test02------------- endl;test02();cout ------------test03------------- endl;test03();cout ------------test04------------- endl;test04();cout ------------test05------------- endl;test05();return 0;
}