c 容器使用之排序 去重

2021-09-25 13:45:41 字數 530 閱讀 8538

消除重複單詞,假設有以下單詞

over

jumps

redslow

thefox

quick

turtle

thered

將單詞放入vector

對vector進行排序,使得重複的單詞相鄰出現

使用標準庫的unique演算法重排vector,使得不重複的元素出現在vector開始部分

由於演算法不能執行容器操作,使用erase成員完成真正的刪除操作

void elimdups(vector&words)
呼叫unique後,vector將變為:

foxjumps

over

quick

redslow

theturtle

???返回的end_unique迭代器指向第乙個???

words的大小並未改變,它仍有10個元素。unique返回的迭代器指向最後乙個不重複元素之後的位置。此位置之後的元素仍然存在,但我們不知道它們的值是什麼。

c 容器使用

關聯容器 無序容器 unordered container 容器介面卡 container adapter 12章 只有array不提供rezise 因為大小固定 std array 於 固定大小的陣列 建立時必須指明大小 不能改變元素的個數,只能改變元素的值 元素的個數是array型別的一部分,s...

C 之stack容器使用

c stack 堆疊 是乙個容器的改編,它實現了乙個先進後出的資料結構 filo 使用該容器時需要包含 include標頭檔案 定義stack物件的示例 如下 stacks1 stacks2 stack的基本操作有 1.入棧 如s.push x 2.出棧 如 s.pop 注意 出棧操作只是刪除棧頂的...

C 之queue容器使用

queue 模板類的定義在標頭檔案中。與stack 模板類很相似,queue 模板類也需要兩個模板引數,乙個是元素型別,乙個容器類 型,元素型別是必要的,容器型別是可選的,預設為deque 型別。定義queue 物件的示例 如下 queueq1 queueq2 queue 的基本操作有 入隊,如例 ...