From: http://www.cnblogs.com/wllyy189/archive/2008/12/17/1356982.html
Public class sortall {</P> <p>/** <br/> * bubble sort, select sort, insert sort, and shell) java ordering implementation <br/> * 2008.11.09 <br/> * @ author yangl. http://www.idcn.org) <br/> */<br/> Public static void main (string [] ARGs) {<br/> int [] I = {1, 5, 6, 12, 4, 9, 3, 23, 39,403,596, 87}; <br/> system. out. println ("---- result of Bubble Sorting:"); <br/> maopao (I); <br/> system. out. println (); <br/> system. out. println ("---- select the sorting result:"); <br/> xuanze (I); <br/> system. out. println (); <br/> system. out. println ("---- insert sorting result:"); <br/> Charu (I); <br/> system. out. println (); <br/> system. out. println ("---- result of shell sorting:"); <br/> shell (I ); <br/>}</P> <p> // Bubble Sorting <br/> Public static void maopao (INT [] X) {<br/> for (INT I = 0; I <X. length; I ++) {<br/> for (Int J = I + 1; j <X. length; j ++) {<br/> If (X [I]> X [J]) {<br/> int temp = x [I]; <br/> X [I] = x [J]; <br/> X [J] = temp; <br/>}< br/> for (int I: X) {<br/> system. out. print (I + ""); <br/>}</P> <p> // select sorting <br/> Public static void xuanze (INT [] X) {<br/> for (INT I = 0; I <X. length; I ++) {<br/> int lowerindex = I; <br/> // find the smallest index <br/> for (Int J = I + 1; j <X. length; j ++) {<br/> If (X [J] <X [lowerindex]) {<br/> lowerindex = J; <br/>}< br/> // exchange <br/> int temp = x [I]; <br/> X [I] = x [lowerindex]; <br/> X [lowerindex] = temp; <br/>}< br/> for (int I: x) {<br/> system. out. print (I + ""); <br/>}</P> <p> // insert sorting <br/> Public static void Charu (INT [] X) {<br/> for (INT I = 1; I <X. length; I ++) {// I from the beginning, because the first number is already sorted. <br/> for (Int J = I; j> 0; j --) {<br/> If (X [J] <X [J-1]) {<br/> int temp = x [J]; <br/> X [J] = x [J-1]; <br/> X [J-1] = temp; <br/>}< br/> for (int I: X) {<br/> system. out. print (I + ""); <br/>}</P> <p> // Hill sorting <br/> Public static void shell (INT [] X) {<br/> // group <br/> for (INT increment = x. length/2; increment> 0; increment/= 2) {<br/> // sort each group <br/> for (INT I = increment; I <X. length; I ++) {<br/> int temp = x [I]; <br/> Int J = 0; <br/> for (j = I; j> = increment; j-= increment) {<br/> If (temp <X [J-increment]) {<br/> X [J] = x [J-increment]; <br/>}else {<br/> break; <br/>}< br/> X [J] = temp; <br/>}</P> <p> for (int I: X) {<br/> system. out. print (I + ""); <br/>}</P> <p>