对不起,我确定这很简单,但我很累,无法弄清楚。如何执行插入排序但检查数组中元素的属性而不仅仅是元素?
我有元件的阵列,每个元件是实际上的颗粒,其为含有一个数据结构(在C语言的结构体),除其他事项外的颗粒当前位置(INT的x,y,z)表示。我想比较元素x位置不仅仅是元素本身。
望着pseudocode on wikipedia,我试图修改它来比较我想要的属性,但我觉得我已经做了一些(可能是简单的)错误。
下面是我修改:
for (i = 1; i<length; i++) {
value = particles[i].position.x;
j = i - 1;
while (j >= 0 && particles[j].position.x > value) {
particles[j+1] = particles[j];
j = j - 1;
}
particles[j+1] = particles[i];
}
如果有人能指出我的错误,这将是巨大的!
亚当
嗯,我猜想它不工作“COS的应用即将时髦写的那部分之后,但它*可能*是别的东西,我只是觉得这是因为我很累,花了很长时间才重写它。 – 2009-04-25 21:44:54