隣接する要素を比較し、大きな交換O(N2)であれば、後者よりも前者:バブルソート@ 公共ボイドバブルソート(){ int型[] = {3,6,34,12,56,37,54 ARR 、89,23}; のための(INT I = 0; I <arr.length; I ++){ ため(INT I = J + 1、。J <arr.length; J ++){ IF(ARR [I]> ARR [J ]){ int型ARR TEMP = [I]; ARR [I] = ARR [J]; ARR [J] = TEMP; } } } (INT I = 0; I <arr.length; I ++){ のSystem.out .PRINT(ARR [I] + ""); } }
//選択ソート:各々が最小の選択、1,2,3における位置を順次切り替えるO(N2) 公共ボイド選択ソート(){ int型[] = {3,6,34,12,56,37 ARR 、54,89,23}、 フラグのint = 0; int型のTEMP = 0; のための(INT I = 0; I <arr.length; I ++){ TEMP = ARR [I]は、 内のフラグ= I; のための(INT J = + 1つのI; J <arr.length; J ++){ IF(ARR [J] <TEMP){ TEMP = ARR [J]; フラグ= Jで; } } //最小のデータ交換の 場合(フラグ= 1)! { ARR [のフラグ] = ARR [I]; ARR [I] = TEMP; } //すべてのソート一度、出力回
{(; <arr.length ++ INT A = 0)ため System.out.print(ARR [A] + ""); } のSystem.out.println(); } }
//插入排序
公共ボイドinsertSort(){ INT [] ARR = {3、2、34、12、56、37、54、89、23}。 以下のために(INT I 1 =; I <arr.length; I ++){ int型の一時= [i]はARR。 int型J = I-1; 用(; J> = 0; J - ){ IF(ARR [J]> TEMP){ ARR [J + 1] = ARR [J]。 } 他{ブレーク;} } (ARR [I] = TEMP!){もし ARR [J + 1] = TEMP。 } のための(INT A = 0; <arr.length; ++){ System.out.print(ARR [A] + ""); } のSystem.out.println(); } }