【发布时间】:2014-02-23 22:04:15
【问题描述】:
我正在处理 shell 排序,但我无法获得排序列表中的第一个值。例如。 if list{7, 2 ,6, 4, 5),排序后的 list{7, 2, 4,5,6}。请各位大神帮忙!公共静态无效分段插入排序(int []列表,int n,int h) { 整数 j;
int temp;
for(int i = h; i < n; i++)
{
j = i - h;
while(j >0)
{
if (list[j] > list[j + h]))
{
temp = list[j];
list[j] = list[j + h];
list[j + h] = temp;
j = j - h;
}
else
{
j = 0;
}
}
}
}
public static void shellSort(int[] list, int n)
{
int h = 1;
while (h < n/3)
{
h = h*3 +1;
}
while(h > 0)
{
segmentedInsertionSort(list, n, h);
h = (h - 1)/3;
}
}
【问题讨论】:
-
你能给你的变量起更多描述性的名字,这样我们就知道它们代表什么