2014-02-13 51 views
0

我有一個線性向量,其中包含任何給定塊的單位座標。座標系如下所示。如果我想要從左下角開始到右上角結束最後的列表,那麼排序列表的最佳方法是什麼?更改數據結構不是一種選擇。線性矩陣分類

任何解釋方法都可以;僞,代碼,粗略的想法,等

Diagram of data to be sorted

回答

1

您的選項如下。

  1. 列爲主

    順序由y降下來,然後用x增加,使用字典排序。

  2. 行主要

    排序X增加,那麼由y下降,使用字典排序。

爲了說明,這裏是選項C風格的例子比較操作1

int compare(point a, point b) 
{ 
    if (a.y > b.y) 
     return -1; 
    else if (a.y < b.y) 
     return 1; 
    else if (a.x < b.x) 
     return -1; 
    else if (a.x > b.x) 
     return 1; 
    else 
     return 0; 
} 

似乎基於要選擇1塊中的「#N」的標籤,列重大的。

+0

完美的是,我做的一個小改變是將返回值-1交換爲1,並將1交換爲-1以實現基於列排序的排序。感謝您的幫助Mr. Shields! – BajaBob