siteName > > sorts.DNFSort
Threads
java ( 1887066 ) - java ( 1887087 ) stack: com.thealgorithms.sorts.DNFSort.main(DNFSort.java:49)
package com.thealgorithms.sorts;

public final class DNFSort {
    private DNFSort() {
    }

    // Sort the input array, the array is assumed to
    // have values in {0, 1, 2}
    static void sort012(int[] a, int arrSize) {
        int low = 0;
        int high = arrSize - 1;
        int mid = 0;
        int temp;
        while (mid <= high) {
            switch (a[mid]) {
            case 0:
                temp = a[low];
                a[low] = a[mid];
                a[mid] = temp;
                low++;
                mid++;
                break;

            case 1:
                mid++;
                break;
            case 2:
                temp = a[mid];
                a[mid] = a[high];
                a[high] = temp;
                high--;
                break;

            default:
                throw new IllegalArgumentException("Unexpected value: " + a[mid]);
            }
        }
    }

    /* Utility function to print array arr[] */
    static void printArray(int[] arr, int arrSize) {
        for (int i = 0; i < arrSize; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }

    /*Driver function to check for above functions*/
    public static void main(String[] args) {
        int[] arr = {0, 1, 1, 0, 1, 2, 1, 2, 0, 0, 0, 1};
        int arrSize = arr.length;
        sort012(arr, arrSize);
        System.out.println("Array after seggregation ");
        printArray(arr, arrSize);
    }
}
Variables All
No.FromNameValue
149args[Ljava.lang.String;@7852e922
END 0 00
Output All Filter Merge
Process FilterThread Filter
1887066 java 1887087 java
No.PNPIDTIDTNMessage
1java18870661887087javaArray after seggregation
2java18870661887087java0
3java18870661887087java0
4java18870661887087java0
5java18870661887087java0
6java18870661887087java0
7java18870661887087java1
8java18870661887087java1
9java18870661887087java1
10java18870661887087java1
11java18870661887087java1
12java18870661887087java2
13java18870661887087java2
END 0 0 0 00
Project:Alg-Java
Update:20240824
Commit:a7cd97d7
Source Code:sorts.DNFSort
BuildTool:Java17
Compiler:Java17
Runtime:Openjdk17
System:MySystemD
Kernel:Linux5.10.211
Cpu:Intel:Corei7-7700K
Machine:AwesomeMachine