11月21日總結

2021-09-01 12:29:07 字數 1917 閱讀 9713

功能是元素去重:「刪除」序列中所有相鄰的重複元素(只保留乙個)重複元素的位置將被不重複的元素給占領,所以在使用之前 一般會將目標序列進行排序

1.只有兩個引數,且引數型別都是迭代器:

iterator unique

(iterator it_1,iterator it_2)

;

這種型別最為常用。其中這兩個引數表示對容器中[it_1,ir_2)範圍去重(左閉右開不含it_2)返回值是乙個迭代器,它指向的是去重後容器中不重複序列的最後乙個元素的下乙個元素

2.有三個引數,且前兩個引數型別為迭代器,最後乙個引數型別可以看作是bool型別:

iterator unique

(iterator it_1,iterator it_2,bool myfunc)

;

第三個引數表示的是自定義元素是否相等。也就是自定義乙個規則,對容器中元素進行去重 。這裡的第三個引數與stl中sort函式的第三個引數功能類似(關於sort函式:關於第三個引數的詳細介紹,可以參考:

注:1.有很多文章說的是,unique去重的過程是將重複的元素移到容器的後面去,實際上這種說法並不正確,應該是把不重複的元素移到前面來。

2.先排序 先排序 先排序

3.unique函式通常和erase函式一起使用 ,來達到刪除重複元素的目的。(注:此處的刪除是真正的刪除,即從容器中去除重複的元素,容器的長度也發生了變換;而單純的使用unique函式的話,容器的長度並沒有發生變化,只是元素的位置發生了變化)關於erase函式的用法見下文。下面是乙個具體的例項:(leetcode 804)

class

solution

;for

(int i =

0; i < words.

size()

; i++)}

}sort

(translated.

begin()

,translated.

end())

; translated.

erase

(unique

(translated.

begin()

,translated.

end())

,translated.

end())

;return translated.

size()

;}};

(參考自c++primer plus 第六版模版類string)

string中提供的成員函式可以用來刪除字串中的字元

1.從給定起始位置pos處開始刪除, 要刪除字元的長度為n, 返回值修改後的string物件引用

basic_string &

erase

(size_type pos=

0, size_type n=npos)

;

2.刪除迭代器位置處的單個字元, 並返回下個元素的迭代器

iterator erase

(const_iterator position)

;

3.刪除迭代器[first, last)區間的所有字元,返回乙個指向被刪除的最後乙個元素的下乙個字元的迭代器.

iterator erase

(const_iterator first, const_iterator last)

1.除了erase方法用於刪除string中的元素, void pop_back();方法也可以用來刪除元素, 但是只能刪除string的最後乙個元素

2.在使用erase刪除函式的時候,經常會和查詢函式一起使用

失業日記 11月21日

11月21日 陣雨 週六 週六,想帶amiee出去玩,但是翻遍了地圖,好玩的風景好的地方不是由於疫情去不了,就是只適合大人不適合小朋友玩。最後選擇開車出去瞎溜達,到哪算哪。最後來到了oroklini的山頂,第一次發現這個山頂看風景非常好。在這個山頂看了一會兒風景,amiee說她要去玩,這個山頂只有風...

1月21日總結

這一天天的過著真快,訓練真的是累啊,昨天訓練一天,早上7點立馬起不來了,硬是睡到了7點半。早上急急忙忙趕到實驗室,大部分人都去了,當時差不多是7 55,明天無論如何都不能賴床了呀,別人能起得來,我為什麼就不能起來!今天做的這幾道題目都和數學,找規律有關。上午把昨天剩下的兩道題目做完了,分別是小白鼠第...

11月30日總結

python 直譯器可以作為乙個簡單的計算器,您可以在直譯器裡輸入乙個表示式,它將輸出表示式的值。表示式的語法很直白 和 和其它語言 如pascal或c 裡一樣。例如 2 24 50 5 620 50 5 6 45.0 8 5 總是返回乙個浮點數1.6 注意 在不同的機器上浮點運算的結果可能會不一樣...