您好,登錄后才能下訂單哦!
數組 |
筆記Notes
|
? ? ? ? ? ? ? ? ? ? ??int[] age = { 1, 2, 3, 4, 5, 6 };
/* ?*?數組中常見的算法 ?*?1.?求數組中元素的最大值、最小值、平均值、總和等 ?*?2.?數組的復制、反轉、查找(線性查找、二分查找(了解)) ?*?3.?數組元素的排序算法:冒泡排序 ?*/ public?class?ArrayAlgorithm?{ public?static?void?main(String[]?args)?{ //?數組最大值、最小值、平均值、總和 System.out.println("---------------------------------數組最大值、最小值、平均值、總和--------------------------"); int?scores[]?=?new?int[5]; for?(int?i?=?0;?i?<?scores.length;?i++)?{ scores[i]?=?(int)?(Math.random()?*?10); } for?(int?i?=?0;?i?<?scores.length;?i++)?{ System.out.print(scores[i]?+?"?"); } System.out.println(); int?max?=?scores[0]; int?min?=?scores[0]; int?add?=?scores[0]; double?ever?=?0; for?(int?i?=?0;?i?<?scores.length;?i++)?{ if?(max?<?scores[i])?{ max?=?scores[i]; } if?(min?>?scores[i])?{ min?=?scores[i]; } add?+=?scores[i]; } ever?=?add?/?scores.length; System.out.println("max?=?"?+?max?+?"?min?=?"?+?min?+?"?add?=?"?+?add?+?"?ever?=?"?+?ever); System.out.println("-------------------------------------------------------------"); System.out.println("----------------------------數組復制---------------------------------------------"); int?copyScores[]?=?new?int[scores.length]; for?(int?i?=?0;?i?<?copyScores.length;?i++)?{ copyScores[i]?=?scores[i]; } for?(int?i?=?0;?i?<?copyScores.length;?i++)?{ System.out.print(copyScores[i]?+?"?"); } System.out.println(); System.out.println("---------------------------數組反轉方法一---------------------------------------"); //?方法一 System.out.println("方法一"); int?reverse[]?=?new?int[scores.length]; for?(int?i?=?0,?j?=?scores.length?-?1;?i?<?scores.length?&&?j?>=?0;?i++,?j--)?{ reverse[i]?=?scores[j]; } for?(int?i?=?0;?i?<?reverse.length;?i++)?{ System.out.print(reverse[i]?+?"?"); } System.out.println(); System.out.println("--------------------------"); for?(int?i?=?0;?i?<?scores.length;?i++)?{ System.out.print(scores[i]?+?"?"); } System.out.println(); System.out.println("----------------------------數組反轉方法二-----------------------------------"); for?(int?i?=?0;?i?<?scores.length?/?2;?i++)?{ int?temp?=?scores[i]; scores[i]?=?scores[scores.length?-?i?-?1]; scores[scores.length?-?i?-?1]?=?temp; } for?(int?i?=?0;?i?<?scores.length;?i++)?{ System.out.print(scores[i]?+?"?"); } System.out.println(); System.out.println("-------------------------數組查找-線性查找-------------------------"); int[]?numbers?=?{?1,?10,?9,?8,?20?}; //?線性查找 int?findNumber?=?18;?//?要查找數值 int?index?=?-1;//查找到的數值所對應的下標 for?(int?i?=?0;?i?<?numbers.length;?i++)?{ if?(findNumber?==numbers[i])?{ index?=?i; break;//只查找一個 } } if?(index?!=?-1)?{ System.out.println("查找到數值!所對應的數組下標為:"?+?index); }?else?{ System.out.println("查找不到值!"); } System.out.println("------------------------數組查找-?二分查找--------------------------------"); int[]?number2?=?{?12,?30,?-5,?6,?9,?10,?5?}; //排序 Arrays.sort(number2);?//?必須排序好 for?(int?i?=?0;?i?<?number2.length;?i++)?{ System.out.print(number2[i]?+?"?"); } System.out.println(); int?findNumber2?=?12;//要查找的內容 int?start?=??0; int?end?=?number2.length-1; int?index2?=?-1;?//所在元素位置 while?(start?<=?end)?{ int?mid?=?(start?+?end)?/?2; if?(number2[mid]?==?findNumber2)?{ index2?=?mid; break; } if(number2[mid]?>?findNumber2){ end?=?mid?-?1; }else?{ start?=?mid?+?1; } } if?(index2?!=?-1)?{ System.out.println("你要的商品存在,在位置:"?+?index2); }else?{ System.out.println("客官您的包裹丟了"); } System.out.println("------------------------------冒泡排序(必須會手寫)-------------------------------------"); int[]?numbers3?=?{10,2,89,39,16}; for?(int?i?=?0;?i?<?numbers3.length;?i++)?{ System.out.print(numbers3[i]?+?"?"); } System.out.println(); System.out.println("------------------------------排序前--------------------------------------------------------"); for?(int?i?=?0;?i?<?numbers3.length?-1;?i++)?{?//外排序次數為長度-1??為5-1?=?4 for?(int?j?=?0;?j?<?numbers3.length?-1?-?i;?j++)?{?//內排序次數每次遞減??4??3?2?1 if?(numbers3[j]?>?numbers3[j+1])?{ int?temp?=?numbers3[j]; numbers3[j]?=?numbers3[j+1]; numbers3[j+1]?=?temp; } } } System.out.println("--------------------------排序后-------------------------------------------"); for?(int?i?=?0;?i?<?numbers3.length;?i++)?{ System.out.print(numbers3[i]?+?"?"); } System.out.println(); System.out.println("------------------------排序完成------------------------------------"); } } |
總結Summary |
|
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。