//sort函式原始碼:
template inline void sort(_randomaccessiter __first, _randomaccessiter __last)
}
//__lg函式原始碼:
//找出2^k<=n的最大值k;
template inline _size __lg(_size __n)
//__introsort_loop函式原始碼:
const int __stl_threshold = 16; //全域性變數;
template //_tp為待排序元素型別, __depth_limit為最多允許分割的層數;
void __introsort_loop(_randomaccessiter __first,
_randomaccessiter __last, _tp*,
_size __depth_limit)
--__depth_limit;//分割層數減1;
//__median函式用於選擇乙個樞軸,然後進行一次分割操作,其中cut為"右半段"的第乙個元素;
_randomaccessiter __cut =
__unguarded_partition(__first, __last,
_tp(__median(*__first,
*(__first + (__last - __first)/2),
*(__last - 1))));
__introsort_loop(__cut, __last, (_tp*) 0, __depth_limit);//對"右半段"進行__introsort排序;
__last = __cut;//繼續while迴圈,對由[first,last)表示的"左半段"進行introsort;
}}
//__unguarded_paririon函式原始碼:
template _randomaccessiter __unguarded_partition(_randomaccessiter __first,
_randomaccessiter __last,
_tp __pivot) //分割函式;
}
//partial_sort函式原始碼:
template inline void partial_sort(_randomaccessiter __first,
_randomaccessiter __middle,
_randomaccessiter __last)
template void __partial_sort(_randomaccessiter __first, _randomaccessiter __middle,
_randomaccessiter __last, _tp*)
// __final_insertion_sort函式原始碼:
//進行插入排序;
void __final_insertion_sort(_randomaccessiter __first,
_randomaccessiter __last)
else
__insertion_sort(__first, __last);
}
//__insertion_sort函式原始碼:
template void __insertion_sort(_randomaccessiter __first, _randomaccessiter __last)
template inline void __linear_insert(_randomaccessiter __first,
_randomaccessiter __last, _tp*)
else
__unguarded_linear_insert(__last, __val);
}template void __unguarded_linear_insert(_randomaccessiter __last, _tp __val)
*__last = __val;
}
//__unguarded_insertion_sort函式原始碼:
template inline void __unguarded_insertion_sort(_randomaccessiter __first,
_randomaccessiter __last)
template void __unguarded_insertion_sort_aux(_randomaccessiter __first,
_randomaccessiter __last, _tp*)
//參考文獻《stl原始碼剖析》 原始碼剖析 Hashtable 原始碼剖析
hashtable同樣是基於雜湊表實現的,同樣每個元素都是key value對,其內部也是通過單鏈表解決衝突問題,容量不足 超過了閾值 時,同樣會自動增長。hashtable也是jdk1.0引入的類,是執行緒安全的,能用於多執行緒環境中。hashtable同樣實現了serializable介面,它支...
python原始碼剖析 Python原始碼剖析
第頁共 頁python 原始碼剖析 物件機制 1.物件 在python 的世界中,一切都是物件,乙個整數是乙個物件,乙個字串也是 乙個物件,更為奇妙的是,型別也是乙個物件,整數型別是乙個物件,字串類 型也是乙個物件。從 年guido 在那個聖誕節揭開 python 世界的大幕開始,一直到現在,pyt...
Erlang hotwheels原始碼剖析
整體構架 janus transport sup 實質為transport,supervisor,client instance supervisor 每個tcp會話建立乙個transport程序來處理對應客戶端的請求。janus topman sup 實質為topman,worker,topic ...