一.二維數(shù)組
????????1.二維數(shù)組的定義和數(shù)組的遍歷
????????2.數(shù)組存儲對象
????????
3.楊輝三角
4.二維數(shù)組的內(nèi)存
5.注意事項
? ? ? 1. 聲明的時候并沒有實例化任何對象鼻种,只有在實例化數(shù)組對象時,JVM才分配空間沙热,這時才與長度有關(guān)叉钥。
? ? ??2. 聲明一個數(shù)組的時候并沒有數(shù)組真正被創(chuàng)建。
? ? ??3. 構(gòu)造一個數(shù)組校读,必須指定長度沼侣。
二.Arrays類
常見的方法:
三.數(shù)組的拷貝
1.arraycopy
? ? ? ? ?? System類里也包含了一個static void arraycopy(object src祖能,int srcpos歉秫,object dest, int? destpos养铸,int length)方法雁芙,該方法可以將src數(shù)組里的元素值賦給dest數(shù)組的元素,其中srcpos指定從src數(shù)組的第幾個元素開始賦值钞螟,length參數(shù)指定將src數(shù)組的多少個元素賦給dest數(shù)組的元素兔甘。
2.代碼實列:
四.冒泡排序
1.冒泡排序算法的運作如下:
? ? ??1. 比較相鄰的元素。如果第一個比第二個大鳞滨,就交換他們兩個洞焙。
? ? ??2. 對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點澡匪,最后的元素應(yīng)該會是最大的數(shù)熔任。
? ? ??3. 針對所有的元素重復以上的步驟,除了最后一個唁情。
? ? ??4. 持續(xù)每次對越來越少的元素重復上面的步驟疑苔,直到?jīng)]有任何一對數(shù)字需要比較。
?? 2.代碼示例:
3.冒泡排序的優(yōu)化算法:
? ? ? ? ? ?? 1.整個數(shù)列分成兩部分:前面是無序數(shù)列甸鸟,后面是有序數(shù)列惦费。
??????????????2.初始狀態(tài)下,整個數(shù)列都是無序的抢韭,有序數(shù)列是空薪贫。
??????????????3.每一趟循環(huán)可以讓無序數(shù)列中最大數(shù)排到最后,(也就是說有序數(shù)列的元素個數(shù)增加1)刻恭,也就是不用再去顧及有序序列后雷。
??????????????4.每一趟循環(huán)都從數(shù)列的第一個元素開始進行比較,依次比較相鄰的兩個元素吠各,比較到無序數(shù)列的末尾即可(而不是數(shù)列的末尾);如果前一個大于后一個臀突,交換。
??????????????5.判斷每一趟是否發(fā)生了數(shù)組元素的交換贾漏,如果沒有發(fā)生候学,則說明此時數(shù)組已經(jīng)有序,無需再進行后續(xù)趟數(shù)的比較了纵散。此時可以中止比較梳码。