冒泡排序:确定内循环和外循环的不变量

问题描述

我不是 100% 确定如何确定以下冒泡排序实现的不变量:

BubbleSort(A[1,...,n])

s <- 1
while s = 1
        s <- 0
        for j <- 1 to length(A)
                if A[j] > A[j+1]
                        A[j] <-> A[j+1]
                        s <- 1

我会说内循环的不变量是: A[j] = max {A[k] | k \in {1,..,j-1}}。 但是,我不太确定是否必须将变量 s 添加到这个特定的不变量中。如果必须,我会说 (s = 0) => a_1 <= a_2 <= ... <= a_(j-1) 是一个很好的候选者。这样对吗?还是我完全错了?

也许有人能帮我几分钟。我会很感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...