本帖最后由 qqhao01 于 2013-9-19 18:43 编辑
如代码:- //插入排序
- public static void insertionSort(int[] arr)
- {
- for(int x=1;x<arr.length;x++)
- {
- for(int y=x;(y>0)&&(arr[y]<arr[y-1]);y--)//这里有些没明白,主要是(y>0)&&(arr[y]<arr[y-1])
- {
- int temp=arr[y];
- arr[y]=arr[y-1];
- arr[y-1]=temp;
-
- }
- }
- }
-
- public static void printArray(int[] arr)
- {
- System.out.print("[");
- for(int x=0;x<arr.length;x++)
- {
- if(x!=arr.length-1)
- {
- System.out.print(arr[x]+",");
- }else{
- System.out.println(arr[x]+"]");
- }
- }
- }
-
- public static void main(String[] args)
- {
- int[] arr={1, 3, 2, 5, 12, 123, 23, 2, 541, 1, 76, 76};
- //排序前
- printArray(arr);
- //进行排序
- insertionSort(arr);
- //排序后
- printArray(arr);
- }
- <p> </p>
复制代码 |