解題報告 ch1 排序與搜素

2021-06-19 11:34:24 字數 1560 閱讀 9240

340 - master-mind hints

//1.快排的使用

10420 - list of conquests

快排int my_compare(const void*a, const void *b)

qsort(&lover[1], country_number, sizeof(lover[1]), my_compare);

10474 - where is the marble?

//1.二分法查詢

int mstart=0,mend=n-1;

int middle=0;

while(mstart <= mend)

152 - tree''s a crowd

//避免開方

for (int j=1; j<=10; ++j)

}//模擬氣泡排序,記錄冒泡次數

氣泡排序演算法的運作如下:

1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

3.針對所有的元素重複以上的步驟,除了最後乙個。

4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

120 - stacks of flapjacks

//1.解決思想:

先找到最大的,然後最大和0對調,然後0和末尾對調

//2.快速解法:動態規劃

程式設計之美:一摞餅

156 - ananagrams

//1.需要考慮所有可能的輸入情況

當用getchar()時,每乙個字元都需要考慮

尤其當 獲取乙個單詞時, '\0'是必須要新增的

(可能'#'在最後乙個單詞最後, e.g  abc#,此時需要將末尾'\0'加上!!)

//2.結構體的快排

400 - unix ls

//1. 字串格式的處理

//2. 注意是否越界

int i=myrow + rows*mycol;

if (i>=n)  

void clear()

};//2.快排

快排的比較函式可以很方便的將多種比較規則融合其中

從小到大 a-b

從大到小 b-a

//3.注意題目細節

大小寫wa了一次

//4.內建函式

a = string(s,3,n);//將string從3開始複製n個字元

#include

int a=atoi('25');

755 - 487--3279

//1.小結

各種基本的操作, 讀取字元,拆分,合成,利用string,比利用char陣列來的安全些,起碼不用關心作死的'\0',@.@

這一題裡還是利用了中的  qsort, 也就是c語言中的函式,以後再嘗試使用 中的工具吧。

做的對映還是很好用的

10785 - the mad numerologist

//1.思路

將母音與子音分別存放在兩個陣列中,

然後分別排序

最後合併輸出

解題報告 ch1 大數問題

424 integer inquiry 1.大數加法 兩個數a,b相加,需要記錄進製g,result的每一位 等於 a與b對應位相加再加上g 10106 product 1.大數乘法 a,b相乘 result 的位數 等於 a.len b.len 最後去除字首0 result.s i j a.s i...

hdu 1106 排序 解題報告

這個題目一開始以為是水題,就想著用來輕鬆輕鬆,誰知道改得我想吐!除了discuss 中的資料外,還加上這兩組,一般就能過了 001568970056 5551235555789 1 include 2 include 3 include 4 using namespace std 56 const ...

資料結構與演算法9 排序1

void x sort elementtype a,int n x表示排序方法的名字 a是輸入的陣列 n是元素個數從上到下,相鄰兩個元素根據大小關係交換位置,第一次排序後最大的數會落到最底層,然後對於n 1個數繼續重複上述過程 void bubble sort elementtype a,int n...