Sortieren ?
-
Hallo,
ich hab mir ein kleines programm geschrieben was koordinaten aus einer .txt datei liest.
// TEXT DATEI //x y z 1,2,3 4,5,6 7,8,9
die koordinaten werden in ein objekt speichert wechles in eine arraylist gespeichert wird.
jetzt möchte ich die koordinaten mit einer von mir bestimmten funktion sortieren.ich poste mal meinen kleinen beispiel code.
class Data { public double X; public double Y; public double Z; public double dist_p2(Data p2) { double xd = Math.abs(X - p2.X); double yd = Math.abs(Y - p2.Y); double zd = Math.abs(Z - p2.Z); return xd * xd + yd * yd + zd * zd; } }
import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Scanner; class Read { public ArrayList<Data> wpArray = new ArrayList<Data>(); public void input() throws FileNotFoundException { File inputFile = new File("C:\\Users\\kanta\\Desktop\\hallo.txt"); Scanner scanner = new Scanner(inputFile); Data o; while (scanner.hasNextLine()) { o = new Data(); String row = scanner.nextLine(); String[] splitter = row.split(","); o.X = Double.parseDouble(splitter[0]); o.Y = Double.parseDouble(splitter[1]); o.Z = Double.parseDouble(splitter[2]); wpArray.add(o); } } }
import java.io.FileNotFoundException; import java.util.Collections; import java.util.Comparator; class Test { /** * @param args * @throws FileNotFoundException */ public static void main(String[] args) throws FileNotFoundException { Read test = new Read(); test.input(); final Data startPoint = new Data(); startPoint.X = 5; startPoint.Y = 5; startPoint.Z = 5; // HIER SOLL SORTIERT WERDEN } }
in c++ habe ich den algorithmus geschrieben, weiß aber nicht wie ich ihn in java umsetzen soll.
partial_sort(tenwps.begin(),tenwps.end(),tenwps.end(), [&](const data& p1,const data& p2) { return p1.dist_p2(startPoint)<p2.dist_p2(startPoint); });
hoffe ihr könnt mir helfen, danke
-