/**
* Accelerated C++ 筆記
**/
sort()函數定義在頭文件<algorithm>中,它把容器中的數據重新排序成非遞減序列。我們之所以用非遞減而不用遞增是因為,容器中的某些數據元素可能會與其他元素相等。
double x;
vector<double> numbers;
typedef vector<double>::size_type vec_size;
vec_sz size = numbers.size();
while(cin >> x)
numbers.push_back(x);
sort(numbers.begin(), numbers.end());
//sort函數巧妙地完成了任務,它僅僅調換了原容器中元素值的相對順序,而不是創建一個新的容器來存儲排序后的結果。
//排序后求中數
vec_sz mid = size/2;
double median;
median = size % 2 == 0 ? (numbers[mid] + numbers[mid-1])/2 : numbers[mid];
//如果不希望改變向量本身,就可以通過函數參數的方式調用它
//調用函數時整個vector參數都會被復制
double median(vector<double> vec)
{
sort(vec.begin(), vec.end());
return 
}
posted on 2008-10-04 14:57
xuejzt 閱讀(7252)
評論(1) 編輯 收藏 引用 所屬分類:
C++