我有三个阵列。我试图通过其中一个来解决所有这些问题。所以我的数组是itemarray,pricearray,quantityarray。我希望对itemarray进行排序,但是相应的数组没有与itemarray一起正确排序。
这是我创建的算法。你知道我怎么解决这个问题吗?
DO i=1, NumItems-1
SmallestItem = MINVAL(itemarray(i:NumItems))
MINLOC_array = MINLOC(itemarray(i:NumItems))
Locationsmallest = (i-1)+MINLOC_array(1)
itemarray(Locationsmallest) = itemarray(i)
itemarray(i) = SmallestItem
pricearray(Locationsmallest) = pricearray(i)
pricearray(i) = SmallestItem
quantityarray(Locationsmallest) = quantityarray(i)
quantityarray(i) = SmallestItem
END DO
答案 0 :(得分:3)
您将pricearray(i)
设置为来自itemarray
的内容。您应该交换pricearray(Locationsmallest)
和pricearray(i)
,您可以将pricearray(Locationsmallest)
的值存储在临时变量中。
quantityarray(i)
也是如此。
顺便说一下,这是一个O(n ^ 2)算法,当你的数组中有大量值时,它可能会非常慢。