原创 C/C++中sort函數排序方法的選擇

STL的sort函數在數據量大時採用快排,分段遞歸排序,一旦分段後的數據小於某個值,就改用插入排序。如果遞歸層次過深,還會改用堆排序。這樣就結合了各類算法的所有優點。 另外sort函數的排序區間是[a,b),所以如果對數組t的第

原创 1015. 德才論 (25)

宋代史學家司馬光在《資治通鑑》中有一段著名的“德才論”:“是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。” 現給出一批考生的德才分數,請根據司馬

原创 分頁、分段和段頁式存儲管理方式

1.分頁管理   分頁存儲管理是將一個進程的邏輯地址空間分成若干個大小相等的片,稱爲頁面或頁,併爲各頁加以編號,從0開始,如第0頁、第1頁等。相應地,也把內存空間分成與頁面相同大小的若干個存儲塊,稱爲(物理)塊或頁框(frame)

原创 vector作爲二維數組

vector本來就是可以用來代替一維數組的,vector提供了operator[]函數,可以像數組一樣的操作,而且還有邊界檢查,動態改變大小。 這裏只介紹用它來代替二維的數組,二維以上的可以依此類推。 1、定義二維vector

原创 1065. 單身狗(25)

“單身狗”是中文對於單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人,以便給予特殊關愛。 輸入格式: 輸入第一行給出一個正整數N(<=50000),是已知夫妻/伴侶的對數;隨後N行,每行給出一對夫妻/伴侶——爲方便起

原创 C++/Java中string的幾點不同

一.關於二元運算符”==” C/C++: 1.在比較兩個字符數組時不能利用符號“==”,“==”符號比較的是兩個字符數組的地址是否相等。 2.若是比較兩個字符,則可以用”==”直接進行比較 3.但在比較兩個string對象

原创 1040. 有幾個PAT(25)

字符串APPAPT中包含了兩個單詞“PAT”,其中第一個PAT是第2位(P),第4位(A),第6位(T);第二個PAT是第3位(P),第4位(A),第6位(T)。 現給定字符串,問一共可以形成多少個PAT? 輸入格式: 輸入只有一

原创 1045. 快速排序(25)

著名的快速排序算法裏有一個經典的劃分過程:我們通常採用某種方法取一個元素作爲主元,通過交換,把比主元小的元素放到它的左邊,比主元大的元素放到它的右邊。 給定劃分後的N個互不相同的正整數的排列,請問有多少個元素可能是劃分前選取的主元

原创 C++map和vector在沒賦值情況下的默認值

map和vector都可以用operator[]進行訪問,map是用[]中的數據作爲key進行查詢,而vector是用[]中的數作爲下標進行訪問。 如果在用operator[]進行訪問的時候出現了越界情況,即map沒有這個鍵值對,

原创 C/C++中scanf和cin的讀取回車、空格等分隔符

輸入流cin無論什麼情況下都會忽略tab、空格、回車等分隔符,包括但不限於cin>>int,cin>>char,cin>>string等情況。 scanf函數在除scanf("%c",&char)之外的所有情況都不會把回車符作爲輸

原创 1060. 愛丁頓數(25)

英國天文學家愛丁頓很喜歡騎車。據說他爲了炫耀自己的騎車功力,還定義了一個“愛丁頓數”E,即滿足有E天騎車超過E英里的最大整數E。據說愛丁頓自己的E等於87。 現給定某人N天的騎車距離,請你算出對應的愛丁頓數E(<=N)。 輸入格式

原创 1030. 完美數列(25)

給定一個正整數數列,和正整數p,設這個數列中的最大值是M,最小值是m,如果M <= m * p,則稱這個數列是完美數列。 現在給定參數p和一些正整數,請你從中選擇儘可能多的數構成一個完美數列。 輸入格式: 輸入第一行給出兩個正整數

原创 1027. 打印沙漏(20)

本題要求你寫個程序把給定的符號打印成沙漏的形狀。例如給定17個“*”,要求按下列格式打印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數

原创 1062. 最簡分數(20)

一個分數一般寫成兩個整數相除的形式:N/M,其中M不爲0。最簡分數是指分子和分母沒有公約數的分數表示形式。 現給定兩個不相等的正分數 N1/M1 和 N2/M2,要求你按從小到大的順序列出它們之間分母爲K的最簡分數。 輸入格式:

原创 使用遞歸求平均值

  如果數組長度爲1,則可以直接返回平均值結果;否則將數組A視爲兩部分,即A[n-1]和A[0,…,n-2],遞歸地處理A[0,…,n-2]中n-1個數的平均值avg,通過(avg*(n-1)+A[n-1])/n即可求得數組A中所有數的平