【发布时间】:2020-05-30 12:59:08
【问题描述】:
我试图在一个函数中找到这个 for 循环的顺序和增长函数,该函数接受一个长度为 n > 2 的数组。
此函数按升序排列数组。我试图找到最坏情况的顺序:当数组最初按降序排序时,函数因此必须多次遍历数组才能对其进行排序。
这是循环:
for (int next = 1; next < array.length; next++) {
int value = array[next];
int index = next;
while (index > 0 && value < array[index - 1]) {
array[index] = array[index - 1];
index--;
}
array[index] = value;
}
我一直在绞尽脑汁想弄清楚。编写测试,写下大量函数,我接近了,但永远不会正确。你将如何通过这样的循环来找到它的顺序和增长函数?
任何方向都将不胜感激。非常感谢。
【问题讨论】:
标签: algorithm