C \ # - 간단 한 정렬 방법: 정렬, 빠 른 정렬 을 선택 하고 정렬 을 직접 삽입 합 니 다.

2901 단어 C\#데이터 구조
      //C#      
  #region      
        static void QuickSort(int[] array, int left,int right) 
        {
            if (left < right) 
            {
                int x = array[left];
                int i = left;
                int j = right;

                while (i < j) 
                {
                    while (i < j)
                    {
                        if (x < array[j])
                        {
                            j--;
                        }
                        else
                        {
                            array[i] = array[j];
                            break;
                        }
                    }

                    while (i < j)
                    {
                        if (x > array[i])
                        {
                            i++;
                        }
                        else
                        {
                            array[j] = array[i];
                            break;
                        }
                    }
                }
                array[i] = x;
                QuickSort(array,left,i-1);
                QuickSort(array,i+1,right);
            }
        }
        #endregion



//      

#region     
        static void InsertSort(int[] array)
        {
            for (int i = 1; i < array.Length; i++)
            {
                int iVaule = array[i];
                bool isInsert = false; //    
                for (int j = i - 1; j >= 0; j--)
                {
                    if (array[j] > iVaule)
                    {
                        array[j + 1] = array[j];
                    }
                    else
                    {
                        array[j+1] = iVaule;
                        isInsert = true;
                        break;
                    }
                }
                if (isInsert == false)
                {
                    array[0] = iVaule; //array[i]     ,     
                }
            }
        }
        #endregion

//    
//           ,         ,
//                   ,     2    ,    
//            
#region     
        static void SelectSort(int[] array)
        {
            for (int i = 0; i < array.Length - 1; i++)
            {
                int min = array[i];//    
                int index = i;//        
                for (int j = i+1; j < array.Length; j++)
                {                    if (array[j] < min)
                    {
                        min = array[j];
                        index = j;
                    }
                }
                if (min != array[i])
                {
                    int temp = array[i];
                    array[i] = array[index];
                    array[index] = temp;
                }
            }
        }
        #endregion

좋은 웹페이지 즐겨찾기