请问一下这个while loop的循环不变量(Inv(p1,2,3))是什么呀
循环不变量是一种设计算法的技巧,用于确保算法的正确性。在这个例子中,循环不变量可以是:对于每次循环,从第0个元素到p1-1的位置的元素都是'A',从p1到p2-1的位置的元素都是'B',而p3到最后一个元素的位置的元素都是'C'。因此,在循环结束后,列表就是以字典序排序的。
还望采纳:
1、lst[0:p1) 都是 'A'。
2、lst[p1:p2) 都是 'B'。
3、lst[p2:p3) 可能是 'A'、'B'或 'C'。
4、lst[p3:lst.length) 都是 'C'。
每次循环过后,循环不变量都被维护
循环的是lst数组的下标,每当交换发生时,p1对应的位置放的‘A’,p2对应的位置放的‘B’,结束后,就形成了ABC的自然排序