環形陣列求最大子陣列

2022-07-18 18:45:13 字數 1388 閱讀 1368

題目:

返回乙個環形陣列中的最大子陣列。

要求:

兩人結對完成程式設計任務。

一人主要負責程式分析,**程式設計。

一人負責**複審和**測試計畫。

思想:

上一次的題目是返回乙個整數陣列中最大子陣列的和;這次在上一次的基礎上,我們原本想採用兩個相同陣列首位相連來實現環形的功能,採用原來的方法未能實現,後來採用課堂上張世通同學講的方法,每次把陣列首個元素移到末尾,重新比較,然後求最大

程式源**:

1 #include2 #include3

using

namespace

std;

4void arr(int ,int);5

void max(int,int ,int ,int ,int,int);6

intmain()

723 max(0

,result,arr1,sum,c2,c1);

24arr(arr1,arr2);

25 max(1

,result,arr2,sum,c2,c1);

26arr(arr2,arr3);

27 max(2

,result,arr3,sum,c2,c1);

28arr(arr3,arr4);

29 max(3

,result,arr4,sum,c2,c1);

30arr(arr4,arr5);

31 max(4

,result,arr5,sum,c2,c1);

32for ( int i=0; i<5; i++)

3738

}39 cout<

最大陣列之和:

"<

40return0;

41}42void arr(int arr1,int

arr2)

4349 arr2[4]=arr1[0

];50}51

void max(int i,int result,int arr1,int sum,int c2,int

c1)52

58else

59if( result[i]

64 }

執行截圖

結對程式設計總結:

程式採用函式呼叫的方式,易於擴充套件。通過這次程式設計實踐,我覺得交流可以

擴充思路,互相指點,很有幫助。

環形陣列求最大子陣列和

陣列是環形的,即首尾相接 下標n 1的元素後面的元素下標為0 求最大子陣列和 環形陣列求最大子陣列和 解法一 把該環形陣列從某一點展開,連寫兩遍 複製乙份接到自己後面 然後當成無環的陣列求最大子陣列和,但這裡要限制乙個條件,就是最大子陣列的長度不可以超過n,所以求的時候要注意判斷。例如 上圖中展開寫...

求整數陣列 環形陣列中最大子陣列的和

一 整數陣列 1 題目要求 a 輸入乙個整數陣列,陣列裡有正數也有負數。b 陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。c 求所有子陣列的和的最大值。2 思路構想 求陣列中的乙個元素 a 和上乙個元素 b 的和 c 將 a 和 c 進行比較,若 c a 則用 c 代替 a 的值,...

環形陣列求子陣列最大和

由於上一次輸入陣列出錯,本次更正。設計思想 1.輸入字串陣列 2.將字串陣列賦初值刪去空格 換行以及初值,將其他字元轉化成整數陣列儲存起來。3.環形整數陣列在每乙個點出都可能斷開,所以設定兩個迴圈,借用第一次計算乙個一維陣列的子陣列最大和 4.從每乙個點都開始一次計算出每乙個一維陣列的子陣列最大和,...