Miten voidaan järjestellä koordinaatti (esim. Point) taulukko ensin x:n mukaan ja sitten y:n mukaan.
Alkutilanne:
X,Y
0,2
1,3
0,1
1,2
Loppu tulos olisi:
X,Y
0,1
0,2
1,2
1,3
En ole löytänyt esimerkkejä miten kyseinen onnistuisi, joten vinkkejä kaivataan.
Käytössä on .NET 2.0
Esimerkiksi jotenkin tähän tyyliin:
using System;
using System.Collections.Generic;
using System.Text;
namespace PointSorter
{
class Program
{
static void Main(string[] args)
{
Point[] Jipii = new Point[20];
//Laitetaan Point-taulukkoon jotain arvoja
for (int i = 0; i < 20; i++)
{
Jipii[i] = new Point();
Jipii[i].X = i % 3;
Jipii[i].Y = i / 3;
}
Array.Sort(Jipii);
}
}
class Point : IComparable
{
public long X;
public long Y;
#region IComparable Members
public int CompareTo(object obj)
{
if (obj is Point)
{
Point point = (Point)obj;
if (point.X < this.X) return 1;
if (point.X > this.X) return -1;
if (point.Y < this.Y) return 1;
if (point.Y > this.Y) return -1;
return 0;
}
else throw new ArgumentException("object is not a Point");
}
#endregion
}
}Kiitän ja kumarran, sain vihdoinkin pelittämään mitä halusin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.