Java迭代快速排序程序

下面是用于迭代快速排序的Java程序

示例

public class Demo{
   void swap_vals(int arr[], int i, int j){
      int temp = arr[i];
      arr[i] = arr[j];
      arr[j] = temp;
   }
   int partition(int arr[], int l, int h){
      int x = arr[h];
      int i = (l - 1);
      for (int j = l; j <= h - 1; j++){
         if (arr[j] = 0){
         h = my_list[top--];
         l = my_list[top--];
         int p = partition(arr, l, h);
         if (p - 1 > l){
            my_list[++top] = l;
            my_list[++top] = p - 1;
         }  
         if (p + 1 < h){
            my_list[++top] = p + 1;
            my_list[++top] = h;
         }
      }
   }
   public static void main(String args[]){
      Demo my_ob = new Demo();
      int my_arr[] = { 34, 76, 41, 32, 11, 0 , 91, 102, -11};
      my_ob.quick_sort(my_arr, 0, my_arr.length - 1);
      int i;
      System.out.println("迭代快速排序之后,数组为 ");
      for (i = 0; i < my_arr.length; ++i){
          System.out.print(my_arr[i] + " ");
      }
      
   }
}

输出结果

迭代快速排序之后,数组为
-11 0 11 32 34 41 76 91 102

一个名为Demo的类包含3个函数,“swap”用于使用临时变量交换值,一个“partition”函数根据主元素值将数组分为两半,以及“quick_sort”函数,该函数使用主元素值并基于该值对数组中的值进行排序。

在main函数中,将创建Demo类的实例以及一个数组。 在该数组上调用“ quick_sort”函数,并在控制台上显示输出。