2017-04-07 2 views
1

Ich fragte this question letzte Mal. Die Antworten dort waren sehr hilfreich. Ich möchte eine leichte Variante vorschlagen. Ich muss auf dieses Element eines struct Arrays zugreifen, das a(i).x==5.65 && a(i).y==32.23 hat?schneller Zugriff eines Elements in Struct Array basierend auf mehreren Kriterien

Wieder kann ich die gute alte for Schleife ausführen und den Index des erforderlichen Elements finden, aber ich muss solche Abfragen mehrere Male machen. Was ist die schnellste Datenstruktur dafür? Mit welcher Methode soll ich das Array struct durchsuchen, um das gewünschte Element zu finden?

Antwort

2

Sie können Punktindexierung verwenden, um eine comma-separated list zu erhalten und diese dann in ein Array zu konvertieren. Sie können dann logische Operationen auf der resultierende Array führen eine logical Array zu erhalten, die Sie dann Index in Ihrem struct Array verwenden können

b = a([a.x] == 5 & [a.y] == 32) 
Verwandte Themen