第一周總結
新知識:
1:stl簡單應用
2:運算子過載
3:簡單的建構函式和析構函式
4:cin輸入存在返回值,可以配合迴圈使用
stl簡單應用:
1.string字串型別:將字串定義成乙個新的資料型別,使得其能夠和其他基本資料型別相識,可以進行運算。
基本操作:
s.
empty()
//s為空返回true,否則返回false.
s.size()
//返回s中字元的個數。
s.c_str()
//返回字串對應位置的首位址
2.棧(stack)<stack>:只能操作頂端元素,先進後出。
定義:stackstack_name;
如:stack <int> s;
基本操作:
empty()
// 返回bool型,表示棧內是否為空 s.empty()
size()
//返回棧內元素個數 s.size()
top(
)//返回棧頂元素值 s.top()
pop(
)//移除棧頂元素s.pop()
push
(data_type a)
//向棧壓入乙個元素 s.push(a)
3.佇列(queue)<queue>:從頂端加入元素,從底端取出元素,先進先出。
定義:queue queue_name;
如:queue <int> q;
基本操作:
empty
() 返回bool型,表示queue是否為空 q.
empty()
size
() 返回queue內元素個數 q.
size()
front
() 返回queue內的下乙個元素 q.
front()
back
() 返回queue內的最後乙個元素q.
back()
pop(
) 移除queue中的乙個元素q.
pop(
)push
(data_type a)
-- 將乙個元素a置入queue中q.
push
(a)
4.優先佇列<queue>:乙個擁有權值觀念的queue,自動依照元素的權值排列,權值最高排在前面。預設情況下,priority_queue是利用乙個max_heap完成的
定義:priority_queue priority_queue_name;
如:priority_queue <int> q;//預設是大頂堆
基本操作:
q.
push
(elem) 將元素elem置入優先佇列
q.top
() 返回優先佇列的下乙個元素
q.pop
() 移除乙個元素
q.size
() 返回佇列中元素的個數
q.empty
() 返回優先佇列是否為空
5.sort函式<algorithm>
sort(begin, end);預設從小到大排列
sort(begin, end, cmp);
bool cmp(int a, int b);
lower_bound(num, num + 6, 2)為num + 1
upper_bound(num, num + 6, 2)為num + 3
8.set 和 multiset<set>
set 和 multiset會根據特定的排序準則,自動將元素排序,兩者的不同之處在於multiset可以允許元素重複而set不允許元素重複。
定義:定義:set set_name;
如:set <int> s; //預設由小到大排序
如果想按照自己的方式排序,可以過載小於號。
struct new_type
}操作:
s.
insert
(elem)
-- 安插乙個elem副本,返回新元素位置。
s.erase
(elem)
-- 移除與elem元素相等的所有元素,返回被移除的元素個數。
s.erase
(pos)
-- 移除迭代器pos所指位置上的元素,無返回值。
s.clear()
-- 移除全部元素,將整個容器清空。
s.size()
-- 返回容器大小。
s.empty()
-- 返回容器是否為空。
s.count
(elem)
-- 返回元素值為elem的元素的個數。
s.lower_bound
(elem)
-- 返回 元素值》= elem的第乙個元素位置。
s.upper_bound
(elem)
-- 返回元素值 > elem的第乙個元素的位置。
以上位置均為乙個迭代器。
s.begin()
-- 返回乙個雙向迭代器,指向第乙個元素。
s.end()
-- 返回乙個雙向迭代器,指向最後乙個元素的下一 個位置
迭代器舉例:
multiset <int> :: iterator pos;
運算子過載
型別 類名::operator op(參數列)
{//相對於該類定義的操作
}struct t1
}; //將該結構體變數按公升序排列.
簡單的建構函式與析構函式
建構函式:在定義物件時自動呼叫,不能有返回值包括void,需要宣告為共有,否則在呼叫函式是不合理。
無參定義:(類名::)類名(無參或有預設值)
{}有參定義:(類名::)類名(參數列)。
學習感悟
貪心演算法:從區域性考慮,每乙個區域性最優解,造成整體最優解。
例題:健談的奶牛問題:每個奶牛的聲音要與和其他奶牛距離相同才能被聽到,計算n*(n-1)頭奶牛共同叫時發出的聲音。
想法:先公升序排列,用後一頭減去一頭,結果2,但容易造成超時。考慮用一重迴圈
for(j=2;j<=n;++j)
這個題要注重總結距離規律。
好難,加油!
第一周總結
第一周學習總結 第一周,我們有學習,計算機的發展,起源,計算機的各種進化,還有計算機的概念,計算機的語言,計算機的組成這些等等。讓我深刻的意識到這是很龐大的一門課程,同時也對我們接下來要學習的課程充滿了期待。對於我自己來說,第一周的學習我還是覺得挺不錯的,挺開心的,能認識到這麼多的朋友,這麼多的知識...
第一周總結
第一周這麼快就過去了,剛開學第一周,沒能擠出很多時間來學習,週六看了一天的課件,把老師給的三個課件看了個遍,線段樹講解和 裡都有很多題目,通過講解更徹底的了解了一下線段樹的原理,線段樹構造,區間查詢,單點更新,區間更新都更具體的講解了一下。後面還有常用的一些模版,也研究了一下,熟悉了具體的原理。主要...
第一周總結
恩。作為新成員,加入大佬雲集的團體 當然,我是小透明.心理壓力特別大,因為我學習比較被動,並且比較慢,相比其他新成員 我的進度條真的相當於沒有動,深深的感覺到自己是個菜雞 很多人已經看完了html,造成這個問題可能有以下幾個原因 1.我覺得不能說我沒有用心,也不能說我不認真不努力 只是說比你優秀的人...