Purpose: Change an integer defined sort order using an algorithm that can be reused for moving the item from position n to position n-m. The position m must be a positive or negative integer number. The number k is defined by the position m (k has the sign of m).
Each item has an item number, a PriorSO number, and a CurrSo number, all of which are positive integer values.
1) Change the CurrSO for item with PriorSO (n) to value (n – m)
2) Change the CurrSO for items with PriorSO [(n - m) to (n – (1 * k))] to value (CurrSO + (1 * k))
3) Change the PriorSO for items with CurrSO [(n – m) to (n)] to value CurrSO
Definition: Let m = 2 (Move up 2), Let k = 1 (since m > 0)
Item | PriorSO | CurrSO
1 | n-2 | n-2
2 | n-1 | n-1
3 | n | n
4 | n+1 | n+1
1) Change the CurrSO for item with PriorSO (n) to value (n – m)
Item | PriorSO | CurrSO
1 | n-2 | n-2
2 | n-1 | n-1
3 | n | n-2
4 | n+1 | n+1
2) Change the CurrSO for items with PriorSO (n - m) to (n – (1 * k)) to value (CurrSO + (1 * k))
Item | PriorSO | CurrSO
1 | n-2 | n-1
2 | n-1 | n
3 | n | n-2
4 | n+1 | n+1
3) Change the PriorSO for items with CurrSO (n – m) to (n) to value CurrSO
Item | PriorSO | CurrSO
1 | n-1 | n-1
2 | n | n
3 | n-2 | n-2
4 | n+1 | n+1
Definition: Let m = -1 (Move down 1), k = -1 (since m < 0)
Item | PriorSO | CurrSO
1 | n-2 | n-2
2 | n-1 | n-1
3 | n | n
4 | n+1 | n+1
1) Change the CurrSO for item with PriorSO (n) to value (n – m)
Item | PriorSO | CurrSO
1 | n-2 | n-2
2 | n-1 | n-1
3 | n | n+1
4 | n+1 | n+1
2) Change the CurrSO for items with PriorSO (n - m) to (n – (1 * k)) to value (CurrSO + (1 * k))
Item | PriorSO | CurrSO
1 | n-2 | n-2
2 | n-1 | n-1
3 | n | n+1
4 | n+1 | n
3) Change the PriorSO for items with CurrSO (n – m) to (n) to value CurrSO
Item | PriorSO | CurrSO
1 | n-2 | n-2
2 | n-1 | n-1
3 | n+1 | n+1
4 | n | n