Java 使用递归的快速排序中的交换/数据移动次数

Java 使用递归的快速排序中的交换/数据移动次数,java,Java,我似乎不知道如何在这段代码中找到数据移动/交换的数量。在这个递归代码中还会有交换/数据移动吗?0_o和 它的内存空间要求是什么 package skirmish; public class QuickSort { public static int countComparisons = 0; public static int countSwappings = 0; public LinkedList qSort(LinkedL

我似乎不知道如何在这段代码中找到数据移动/交换的数量。在这个递归代码中还会有交换/数据移动吗?0_o和 它的内存空间要求是什么

package skirmish;

    public class QuickSort 
    {
        public static int countComparisons = 0;
        public static int countSwappings = 0;
        public LinkedList qSort(LinkedList l)
        {
            if(l.count() <= 1)
                return l;

            int p = l.peekStart();
            l.removeFromStart();

            LinkedList s = new LinkedList();
            LinkedList g = new LinkedList();

            while(!l.isEmpty())
            {
                countComparisons++;
                if(l.peekStart() < p)
                    s.addAtEnd(l.peekStart());
                else
                    g.addAtEnd(l.peekStart());
                l.removeFromStart();
            }
            s = qSort(s);
            g = qSort(g);

            s.addAtEnd(p);
            countSwappings++;

            while(!g.isEmpty())
            {
                s.addAtEnd(g.peekStart());
                g.removeFromStart();
                countSwappings++;
            }

            return s;
        }
    }
package冲突;
公共类快速排序
{
公共静态整数比较=0;
公共静态整数计数交换=0;
公共链接列表qSort(链接列表l)
{

if(l.count())不使用字母作为变量名。另外,我也不太明白您要计算什么。对不起,命名约定。我要计算交换或数据移动的数量,就像我们在任何其他排序算法中比较的交换一样