算法第四版1.1基础编程模型26

2019-04-13 20:43发布

1.1.26这一题题目稍微有点奇葩。。。证明下面三行代码能够将a,b,c按照升序排列。这个,强行用annotation解释一波吧。//我们假设a, b, c, 这三个reference在世界的某个角落按顺序排成了一条队 if (a > b){ t = a; a = b; b = t; }//保证站第一的比站第二的小 if (a > c){ t = a; a = c; c = t; }//保证站第一的比站第三的小 //以上两步保证了排在第一位的变量是三者之间最小的 if (b > c){ t = b; b = c; c = t; }//保证站第二的比站第三的小 //最后一步加上前两步就能保证a,b,c这三个reference升序排列