快排

今天下午没事练习一下快速排序,用的是C#的语言来实现的,

namespace Demo{
    class Project{
        static void Main(string[] args){
                 int[] arr={12,55,2,38,789,12,126,1000,5555,236,1};
                  Sort.QuickSort(arr,0,arr.Length-1);
                   foreach(var item in arr){
                               Console.WriteLine(item);
               }
              Console.ReadKey();

        }

    }
    class Sort{
        public static void QuickSort(int[] arr,int left,int right){

            if(left<right){
                  int i = left;
                  int j = right;
                  int value = arr[i];
                   while(i<j){
                       while(i<j){
                           if(value>arr[j]){
                             arr[i]=arr[j];
                                break;
                             }else
                             {
                                j--;
                            }
                          }
                         while(i<j){
                            if(value<=arr[i]){
                            arr[j]=arr[i];
                             break;
                             }else{
                           i++;
                              }
                         }
                  arr[i]=value;
                  QuickSort(arr,left,i-1);
                  QuickSort(arr,i+1,right);

                      }
             }
        }

    }


}    

 

posted @ 2016-05-15 16:43  坚持==收获  阅读(116)  评论(0编辑  收藏  举报