lion_1082
根據從
file.in
讀入的資料,將最重的 5 隻牛的體重加總起來輸出
#include <fstream>
constructor
進行開檔或是利用 member function
的形式開啟檔案open
函式的參數形式是 open(filename, open_mode)
常見的開啟模式有以下幾種:
ios::in
: 以讀取模式開啟檔案ios::out
: 以寫入模式開啟檔案ios::app
: 以寫入模式開啟檔案並將寫入指針移動到檔案結尾處詳細的模式說明可以參考 ios_base::openmode - C++ Reference
如同使用 cin
與 cout
一樣
ios::in
開啟檔案的話,可以把你所宣告的 fstream 變數當作 cin
來讀入資料簡單來說, vector 可以說是 array 的進化版
在 C++ 中,有提供許多好用的 STL ,而 Vector 就是其中一個 STL
#include <vector>
加入程式碼中push_back
將元素加入 Vector[]
或是 at()
這個成員函式來存取其中的特定元素size()
取得 Vector 的大小#include <algorithm>
加進程式碼裡sort
函式的參數結構 : sort(begin_pointer, end_pointer, function_pointer)
sort
可以根據你所提供的 function 來改變排序的方式sort
可以使用在許多的資料型態上(如 array, vector, string 等等)搭配傳入比較函數可以做不同的變化
執行
Vector and Array
投影片第 21 與 22 頁的程式碼,並依照結果分析 與 的差異
根據維基百科的敘述:
在電腦科學中,演算法的時間複雜度(Time complexity)是一個函式,它定性描述該演算法的執行時間。
[color= purple]
與我們日常生活中排撲克牌的方法類似,時間複雜度為
未有統一的實作方法,依照編譯器的不同可能有不同的實作方式
但在 C++11/14 標準裡有規範其時間複雜度為
利用測量得到的執行時間畫出下圖:
可以看到 insertion sort 在元素越來越多的時候,其所花費時間的上升曲線會比使用 sort 函式還來得陡,這是因為 insertion sort 在時間複雜度上屬於
而 sort 函式根據 C++11/14 的標準,時間複雜度為 ,所以兩者在排序數量漸增時所需花費時間的差異就會逐漸顯現出來。