结对开发四------求一维无头数组最大子数组的和
生活随笔
收集整理的這篇文章主要介紹了
结对开发四------求一维无头数组最大子数组的和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、代碼思想
?對第一次一維數組的延伸,增加無頭無尾功能,我們的設計思想是每比較一次進行一次交換,將第一個掉到位后去第二個調到第一個,第三個調到第二個,以此類推,再進行實驗一的求最大子數組的和
二、代碼
package com.minirisoft;import java.util.*; public class SuperMax {public static int Exchange(int arr[],int n){int t;for(int j=0;j<n-1;j++){t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;}return 0;}public static void main(String[] args){ Scanner sc=new Scanner(System.in);int[] list = new int[10];//輸入數組是必須先定義數組,否則出錯!int[] arr1 = new int[10];//輸入數組是必須先定義數組,否則出錯!int[] arr = new int[10];//輸入數組是必須先定義數組,否則出錯!System.out.println("請輸入數組:");for(int k=0;k<10;k++){list[k]=sc.nextInt();}for(int i=0;i<10;i++){Exchange(list,9);for(int n=0;n<9;n++){arr1[n]=list[n];for(int m=n;m<9;m++){arr1[m+1]=arr1[m]+list[m+1];}for(int m=n;m<10;m++){if(arr1[m]>arr1[n]){arr1[n]=arr1[m];} }System.out.println("從第"+(n+1)+"個元素輻射的最大子數組的和為"+arr1[n]);}arr1[9]=list[9]; for(int l=0;l<10;l++){if(arr1[l]>arr1[0]){arr1[0]=arr1[l];} }arr[i]=arr1[0];System.out.println("此時最大子數組的和為"+arr1[0]);} for(int i=0;i<10;i++){if(arr[i]>arr[0]){arr[0]=arr[i];} }System.out.println("最終最大子數組的和為"+arr[0]);} }?三、實驗結果
五、心得體會
這次程序是對原來程序的擴展,主要的設想在如何讓數組位置輪轉,起初我們倆個都有自己的實現方法,我們都一一試了,最后選擇的容易實現的方法。
六、小組成員:楊廣鑫,郭健豪
轉載于:https://www.cnblogs.com/tianyaguying/p/4378240.html
總結
以上是生活随笔為你收集整理的结对开发四------求一维无头数组最大子数组的和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios LOL 英雄联盟 英雄头像展
- 下一篇: AOP的MethodBeforeAdvi