日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【C++】 C++标准模板库(二) Lists

發布時間:2024/4/21 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C++】 C++标准模板库(二) Lists 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. C++ Lists(鏈表)

Lists將元素按順序儲存在鏈表中. 與 向量(vectors)相比, 它允許快速的插入和刪除,但是隨機訪問卻比較慢.

assign()給list賦值
back()返回最后一個元素
begin()返回指向第一個元素的迭代器
clear()刪除所有元素
empty()如果list是空的則返回true
end()返回末尾的迭代器
erase()刪除一個元素
front()返回第一個元素
get_allocator()返回list的配置器
insert()插入一個元素到list中
max_size()返回list能容納的最大元素數量
merge()合并兩個list
pop_back()刪除最后一個元素
pop_front()刪除第一個元素
push_back()在list的末尾添加一個元素
push_front()在list的頭部添加一個元素
rbegin()返回指向第一個元素的逆向迭代器
remove()從list刪除元素
remove_if()按指定條件刪除元素
rend()指向list末尾的逆向迭代器
resize()改變list的大小
reverse()把list的元素倒轉
size()返回list中的元素個數
sort()給list排序
splice()合并兩個list
swap()交換兩個list
unique()刪除list中重復的元素

2. C++ Lists(鏈表)


賦值(assign)

語法:
void assign( input_iterator start, input_iterator end );void assign( size_type num, const TYPE &val );

assign()函數以迭代器start和end指示的范圍為list賦值或者為list賦值num個以val為值的元素。

相關主題:
insert(),

back

語法:
reference back();

back()函數返回一個引用,指向list的最后一個元素。

相關主題:
front(), pop_back(),

begin

語法:
iterator begin();

begin()函數返回一個迭代器,指向list的第一個元素。例如,

// 創建一個元素類型是字符的鏈表list<char> charList;for( int i=0; i < 10; i++ )charList.push_front( i + 65 );// 顯示這個鏈表list<char>::iterator theIterator;for( theIterator = charList.begin(); theIterator != charList.end(); theIterator++ )cout << *theIterator;

相關主題:
end(),

clear

語法:
void clear();

clear()函數刪除list的所有元素。


empty

語法:
bool empty();

empty()函數返回真(true)如果鏈表為空,否則返回假。例如:

list<int> the_list;for( int i = 0; i < 10; i++ )the_list.push_back( i ); while( !the_list.empty() ) {cout << the_list.front() << endl;the_list.pop_front();}

end

語法:
iterator end();

end()函數返回一個迭代器,指向鏈表的末尾。

相關主題:
begin(),

erase

語法:
iterator erase( iterator pos );iterator erase( iterator start, iterator end );

erase()函數刪除以pos指示位置的元素, 或者刪除start和end之間的元素。 返回值是一個迭代器,指向最后一個被刪除元素的下一個元素。


front

語法:
reference front();

front()函數返回一個引用,指向鏈表的第一個元素。

list<int> the_list;for( int i = 0; i < 10; i++ )the_list.push_back( i ); while( !the_list.empty() ) {cout << the_list.front() << endl;the_list.pop_front();} 相關主題:
back(),

get_allocator

語法:
allocator_type get_allocator();

get_allocator()函數返回鏈表的配置器。


insert

語法:
iterator insert( iterator pos, const TYPE &val );void insert( iterator pos, size_type num, const TYPE &val );void insert( iterator pos, input_iterator start, input_iterator end );

insert()插入元素val到位置pos,或者插入num個元素val到pos之前,或者插入start到end之間的元素到pos的位置。返回值是一個迭代器,指向被插入的元素。


max_size

語法:
size_type max_size();

max_size()函數返回鏈表能夠儲存的元素數目。


merge

語法:
void merge( list &lst );void merge( list &lst, Comp compfunction );

merge()函數把自己和lst鏈表連接在一起,產生一個整齊排列的組合鏈表。如果指定compfunction,則將指定函數作為比較的依據。


pop_back

語法:
void pop_back();

pop_back()函數刪除鏈表的最后一個元素。

相關主題:
pop_front(),

pop_front

語法:
void pop_front();

pop_front()函數刪除鏈表的第一個元素。

相關主題:
pop_back(),

push_back

語法:
void push_back( const TYPE &val );

push_back()將val連接到鏈表的最后。例如:

list<int> the_list;for( int i = 0; i < 10; i++ )the_list.push_back( i ); 相關主題:
push_front(),

push_front

Syntax:
void push_front( const TYPE &val );

push_front()函數將val連接到鏈表的頭部。

相關主題:
push_back(),

rbegin

語法:
reverse_iterator rbegin();

rbegin()函數返回一個逆向迭代器,指向鏈表的末尾。

相關主題:
rend(),

remove

語法:
void remove( const TYPE &val );

remove()函數刪除鏈表中所有值為val的元素。例如

// 創建一個鏈表,元素是字母表的前10個元素list<char> charList;for( int i=0; i < 10; i++ )charList.push_front( i + 65 );// 刪除所有'E'的實例charList.remove( 'E' );


remove_if

語法:
void remove_if( UnPred pr );

remove_if()以一元謂詞pr為判斷元素的依據,遍歷整個鏈表。如果pr返回true則刪除該元素。


rend

語法:
reverse_iterator rend();

rend()函數迭代器指向鏈表的頭部。


resize

語法:
void resize( size_type num, TYPE val );

resize()函數把list的大小改變到num。被加入的多余的元素都被賦值為val


reverse

語法:
void reverse();

reverse()函數把list所有元素倒轉。


size

語法:
size_type size();

size()函數返回list中元素的數量。


排序(sort)

語法:
void sort();void sort( Comp compfunction );

sort()函數為鏈表排序,默認是升序。如果指定compfunction的話,就采用指定函數來判定兩個元素的大小。


splice

語法:
void splice( iterator pos, list&lst );void splice( iterator pos, list&lst, iterator del );void splice( iterator pos, list&lst, iterator start, iterator end );

splice()函數把lst連接到pos的位置。如果指定其他參數,則插入lst中del所指元素到現鏈表的pos上,或者用start和end指定范圍。


swap

語法:
void swap( list &lst );

swap()函數交換lst和現鏈表中的元素。


unique

語法:
void unique();void unique( BinPred pr );

unique()函數刪除鏈表中所有重復的元素。如果指定pr,則使用pr來判定是否刪除。


總結

以上是生活随笔為你收集整理的【C++】 C++标准模板库(二) Lists的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。