j将测试进行到底~~

发布新日志

  • 排序算法之四(快速排序)

    2008-10-23 09:56:20


    public class QuickSort {
        public void quickSort(int[] array,int low,int high){
            if(low < high)
            {
                QuickSort qs = new QuickSort();
                int mid = qs.partion(array,low,high);
                qs.quickSort(array,low, mid-1);
                qs.quickSort(array, mid+1, high);
            }
        }
        
        public int partion(int[] array,int low,int high){
            int pivotKey = array[low];
            while(low<high){
                while(array[high]>pivotKey){
                    high--;
                }
                array[low]=array[high];
                array[high]=pivotKey;
                while(array[low]<pivotKey){
                    low++;
                }
                array[high]=array[low];
                array[low]=pivotKey;
                new QuickSort().print(array);
        }
            return low;
    }
       
        public void print(int[] array){
            for(int i=0;i<array.length;i++){
                if(i<array.length-1){
                System.out.print(array[i]+",");
                }
                else
                    System.out.print(array[i]);
            }
            System.out.println();
        }
       
        public static void main(String[] args){
            int[] array = {10,9,8,7,6,5,4,3,2,1};
            QuickSort qs = new QuickSort();
            qs.print(array);
            qs.quickSort(array,0,array.length-1);
            qs.print(array);
        }
    }
     
  • 排序算法之三(选择排序)

    2008-10-23 09:55:12


    public class SelectSort {
        public void SelectSort(int[] array){
            for(int i = 0;i<array.length;i++){
                int temp = array[i];
                int min = i;
                for(int j=i;j<array.length;j++){
                    if(array[min]>array[j]){
                        min = j;
                    }
                }
                array[i] = array[min];
                array[min] = temp;
            }
        }
        
        public void print(int[] array){
            for(int i=0;i<array.length;i++){
                if(i<array.length-1){
                System.out.print(array[i]+",");
                }
                else
                    System.out.print(array[i]);
            }
            System.out.println();
        }
       
        public static void main(String[] args){
            int[] array = {10,9,8,7,6,5,4,3,2,1};
            SelectSort seleSort = new SelectSort();
            seleSort.print(array);
            seleSort.SelectSort(array);
            seleSort.print(array);
        }
    }
     
  • 排序算法之二(直接插入排序)

    2008-10-23 09:43:55

    昨天晚上熬夜到1点多调了以下三个排序算法,呵呵,供大家参考吧。
    public class InsertSort {
     public void insertSort(int[] array){
      for(int i=1;i<array.length;i++){
       int tmp = array[i];
       int j = i - 1;
       for(;j>=0&&tmp<array[j];j--){
         array[j+1] = array[j];
       }  
       array[j + 1] = tmp;
      }
     }
     
     public void print(int[] array){
      for(int i=0;i<array.length;i++){
       if(i<array.length-1){
       System.out.print(array[i]+",");
       }
       else
        System.out.print(array[i]);
      }
      System.out.println();
     }
     
     public static void main(String args[]){
      int[] array = {10,9,8,7,6,5,4,3,2,1};
      InsertSort insert = new InsertSort();
      insert.print(array);
      insert.insertSort(array);
      insert.print(array);
     }
    }
  • 排序算法之一(冒泡排序)

    2008-10-22 13:23:58

    终于决定靠实力找工作,不再把自己的活动范围仅仅限制为现在的实习单位。复习的范围先从最基础的数据结构算法开始吧,今天先用JAVA小写了下冒泡排序,时间复杂度和空间复杂度应该不是最优的,仅供大家参考啦。


    public class BubbleSort {
      public void bubbleSort(int[] array){
       int n = array.length;
       for(int i=n;i>1;i--){
        for(int j=0;j<i-1;++j){
         if(array[j+1]<array[j]){
         int temp = array[j+1];
         array[j+1] = array[j];
         array[j]=temp;
         }
        }
       }
    }
      public static void main(String args[]){
       int[] array = {10,9,8,7,6,5,4,3,2,1};
       for(int i=0;i<array.length;i++){
        if(i<array.length-1){
        System.out.print(array[i]+",");
        }
        else
         System.out.print(array[i]);
       }
       System.out.println();
       new BubbleSort().bubbleSort(array);
       for(int i=0;i<array.length;i++){
        if(i<array.length-1){
        System.out.print(array[i]+",");
        }
        else
         System.out.print(array[i]);
       }
       System.out.println();
      }
    }

Open Toolbar