java的四种基础排序分别是:冒泡法,插入法,选择法,SHELL排序法
冒泡:
- public void bubbleSort(int[] array)
- {
- int temp;
- for(int i=0;i<array.length-1;i++)
- {
- for(int j=i+1;j<array.length;j++)
- {
- if(array[i]>array[j])
- {
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- }
- }
- }
复制代码
选择排序:
- public void chooseSort(int[] array)
- {
- int temp;
- for(int i=0;i<array.length;i++)
- {
- int lowIndex = i;
- for(int j=array.length-1;j>i;j--)
- {
- if(array[j]<array[lowIndex])
- {
- lowIndex = j;
- }
- }
- temp = array[i];
- array[i] = array[lowIndex];
- array[lowIndex] = temp;
- }
- }
复制代码
插入排序:
- public void insertSort(int[] array)
- {
- int temp;
- for(int i=1;i<array.length;i++)
- {
- for(int j=i;(j>0)&&array[j]<array[j-1];j--)
- {
- temp = array[j];
- array[j]=array[j-1];
- array[j-1]=temp;
- }
- }
- }
复制代码
shell:
- public void shellSort(int[] array)
- {
- for(int i=array.length/2;i>2;i/=2)
- {
- for(int j=0;j<i;j++)
- {
- insertSortForShell(array,j,i);
- }
- insertSortForShell(array,0,1);
- }
- }
- private void insertSortForShell(int[] array,int start,int inc)
- {
- int temp;
- for(int i=start+inc;i<array.length;i+=inc)
- {
- for(int j=i;(j>=inc)&&(array[j])<array[j-inc];j-=inc)
- {
- temp=array[j];
- array[j]=array[j-inc];
- array[j-inc]=temp;
- }
- }
- }
复制代码
不要去看排序的解释就看算法,分析出他们是怎么实现的,这是最好的 |