數據結構學習之路一(list)

學習自//http://www.cnblogs.com/scandy-yuan/archive/2013/01/08/2851324.htmlhtml

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<list>
using namespace std;

int main()
{
int a1[5] = {1,2,3,4,5};
list<int> a(a1,a1+5),a2,a3;
a2 = a;//賦值運算符
list<int>::iterator it;
printf("鏈表a2的值所有輸出:");
for(it = a2.begin ();it != a2.end ();it ++)
{    
printf("%d ",*it);
}
puts("");
//元素拷貝
a3.assign (2,10);
for(it = a3.begin ();it != a3.end ();it ++)
{    
printf("%d ",*it);
}
puts("");
//第一個,最後一個,總個數,最大的數
printf("%d %d %d %d",a.front(),a.back (),a.size (),a.max_size ());

a.insert(a.begin (),5); // 在a.begin()插入5
a.insert(a.begin (),2,5); // 在a.begin()插入2個5
printf("插入數值後鏈表a的值所有輸出:");
for(it = a.begin ();it != a.end ();it ++)
{    
printf("%d ",*it);
}
puts("");

a.erase(a.begin ());//刪除在a.begin ()的元素

printf("刪除在a.begin ()的元素鏈表a的值所有輸出:");
for(it = a.begin ();it != a.end ();it ++)
{    
printf("%d ",*it);
}
puts("");

a.unique(); //刪除相鄰的元素

printf("刪除相鄰的元素鏈表a的值所有輸出:");
for(it = a.begin ();it != a.end ();it ++)
{    
printf("%d ",*it);
}
puts("");
a.sort ();//默認升序 自定義:c.sort(comp) 
printf("排序後鏈表a的值所有輸出:");
for(it = a.begin ();it != a.end ();it ++)
{    
printf("%d ",*it);
}
puts("");
a.clear();//清除
return 0;
}
View Code
相關文章
相關標籤/搜索