Counting algorithms while loop's time complexity

I have found that questions were already created regarding these type of topics, but they looked very simple examples. I know how to count time complexity of for loops, but how would I go about counting this while loop inside the method?

public static void QuickSort(DataArray items, int left, int right)
{
    int i = left, j = right;
    double vid = items[(left + right) / 2];
    while (i <= j)
    {
        while (items[i] < vid)
            i++;
        while (items[j] > vid)
            j--;
        if (i <= j)
        {
            items.Swap(j, i, items[j], items[i]);
            i++;
            j--;
        }
    }
    if (left < j)
        QuickSort(items, left, j);
    if (i < right)
        QuickSort(items, i, right);
}