演算法導論第二章 練習2 3 2

2021-09-24 21:43:31 字數 760 閱讀 1199

用陣列下表限制陣列越界

原題是用乙個無窮大值做哨兵,另一中方法,用函式下表限制陣列越界即可,用乙個if判斷來寫

直接上** 講可能講不太清楚

#includevoid mergesort(int number,int p,int r);

void merge(int number,int p,int q,int r);

int main(void) ;

mergesort(number,1,10);

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

} void mergesort(int number,int p,int r) else

} else if(i>n1) else if(j>n2)

}}

注意這裡的**

if(i<=n1&&j<=n2)  else 

} else if(i>n1) else if(j>n2)

我用if條件來防止陣列越界,例如當左邊比較完畢後,右邊不再比較直接按順序加入原陣列中

其實對於歸併排序,左右有順序的兩部分比較到最後必然會有乙個用完了,即所有的值全部付給了原陣列,這時候為了避免陣列越界,我們必須用if條件語句改變賦值的方向

可能我講的不是很明白 因為我不善於文字表達,如果看不懂可是試著去找一找歸併排序的相關資料。

如果這篇文章浪費了你的時間 對不起!!!!

演算法導論第二章 練習2 1 4

二進位制相加問題 題幹書上有,此處省略!分析 此處貼上 僅供參考 includevoid line int number1,int number2,int number3 int main void int number2 10 int number3 11 line number1,number2...

演算法導論第二章 練習2 2 2

選擇演算法 選擇排序咯 其實這道題就是將選擇排序的,要是會選擇排序就簡單多了。不會,沒關係,請看下面 下面放 嗷嗚!includevoid select int number,int n int main void select number,5 void select int number,int...

演算法導論第二章

插入排序原始碼 1 include 2 include 3 4using namespace std 56 void insert sort inta 7 17 a i 1 key 18 19 2021 intmain 22view code 逆序輸出 1 include 2 include 3 4...