/**
* Accelerated C++ 筆記
**/
sort()函數(shù)定義在頭文件<algorithm>中,它把容器中的數(shù)據(jù)重新排序成非遞減序列。我們之所以用非遞減而不用遞增是因?yàn)椋萜髦械哪承?shù)據(jù)元素可能會(huì)與其他元素相等。
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函數(shù)巧妙地完成了任務(wù),它僅僅調(diào)換了原容器中元素值的相對(duì)順序,而不是創(chuàng)建一個(gè)新的容器來存儲(chǔ)排序后的結(jié)果。
//排序后求中數(shù)
vec_sz mid = size/2;
double median;
median = size % 2 == 0 ? (numbers[mid] + numbers[mid-1])/2 : numbers[mid];
//如果不希望改變向量本身,就可以通過函數(shù)參數(shù)的方式調(diào)用它
//調(diào)用函數(shù)時(shí)整個(gè)vector參數(shù)都會(huì)被復(fù)制
double median(vector<double> vec)
{
sort(vec.begin(), vec.end());
return 
}
posted on 2008-10-04 14:57
xuejzt 閱讀(7252)
評(píng)論(1) 編輯 收藏 引用 所屬分類:
C++