我有一个点列表,即:List<List<Point>>.例如:
List<Point> lp;
List<List<Point>> Llp;
Llp.add(lp);
Run Code Online (Sandbox Code Playgroud)
lp将是我的矩阵的第一行(x = 0).Llp是整个矩阵.
我想根据每个点的x和y对列表进行升序排序.我只设法将内部列表排序,但不是整个列表.有人可以帮我吗?谢谢.这是我的代码,用于根据y对内部列表(即矩阵的第一行)进行排序.
private void ord_horiz (List<Point> tab)
{
boolean ordered_horiz = false;
int size = tab.size();
while(!ordered_horiz)
{
ordered_horiz = true;
for(int i=0 ; i < size-1 ; i++)
{
if(tab.get(i).y > tab.get(i+1).y)
{
swap(tab, i, i+1);
ordered_horiz = false;
}
}
size--;
}
}
private void swap(List<Point> tab, int ind1, int ind2)
{
Point c;
c = tab.get(ind1);
tab.set(ind1, tab.get(ind2));
tab.set(ind2, c);
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止编写的代码:
Collections.sort(tab,new Comparator<List<Point>>(){ …Run Code Online (Sandbox Code Playgroud)