list如何排序,公升序和降序?
把資料加進list中之後,要排序就簡單了,就呼叫它的sort()函式就行了,例如:
listlst;
lst.push_back(1);
lst.push_front(2);
lst.push_back(5);
lst.sort();
這樣的話,lst裡本來是2、1、5的順序排列的,sort之後就變成了1、2、5也就是公升序排列。
那如果我們要降序排列呢?可以這樣:
lst.sort( greater() );
這樣的話,list裡面就變成了5、2、1的順序了!
list容器如何容納自定義型別?
上面的那個list是容納了int型別,如果我們要容納自定義的型別怎麼辦呢??
首先我們需要定義乙個類,比如下面的這個類:
class cstyleandcount
cstyleandcount& operator = (const cstyleandcount &other)
friend int operator<(const cstyleandcount &left,
const cstyleandcount &right)
friend int operator>(const cstyleandcount &left,
const cstyleandcount &right)
cstring m_strstylecount;
cstring m_strcount;
int m_ncount;
};我們可以看到,這個類裡過載了幾個運算子,<、>、=,這幾個運算子過載了之後,那list就可以容納我們的自定義型別了,本來 > 都不用過載,但為了能降序排列,就要做多一步了。
接下來的使用和上面第乙個問題的使用一樣了!
如何高效的使用STL
一些容器選用法則 1 如果程式要求隨機訪問元素,則應使用vector或deque容器 2 如果程式必須在容器的中間位置插入或刪除元素,則應採用list容器 3 如果程式不是在容器的中間位置,而是在容器首部或尾部插入或刪除元素,則應採用deque容器 4 如果只需要在讀取輸入時在容器的中間位置插入元素...
stl自己的總結
容器分為 序列式 vector動態陣列,deque雙向佇列,list雙向序列。關聯式容器 set,multiset,map,multimap,hash table 容器配接器 stack,queue,priority queue stl的資料結構 biset,string,valarray stri...
使用STL的vector容器類
範例程式 include include include include include using namespace std int main char b size 定義vector物件 vectorvf a,a size vectorvc b,b size sizef vf.size siz...