Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Die Hauptaufgabe besteht darin, das Array der definierten Werte zu löschen.
Dies kann nicht die Hauptaufgabe sein. Was wird in diesem Feld gesammelt und wie wird es dann verwendet?
Nun, das ist nicht ernst gemeint. Wenn ich Elefanten ziehe, um dieses spezielle kleine Problem zu lösen, würde ich STL::remove(array, value) erwähnen.
Das ist einfach sehr ernst und grundlegend. MQL ist einfach langatmig. Schrecklich sogar.
Grundlegende Operatoren wie filter (was ist das in TC, filtern), map (abbilden), fold (zusammenlegen, zusammenfassen)
sollten sofort umgesetzt werden, ohne Fragen zu stellen. Und optimiert werden.
Das ist einfach sehr ernst und grundlegend. MQL ist einfach langatmig. Es ist furchtbar.
Solche grundlegenden Operatoren wie Filter (in TC ist das Filtern), Map (Abbildung), Fold (Summierung)
sollten sofort und ohne Fragen implementiert werden. Und optimiert werden.
Der Punkt ist, dass es unsinnig ist, für eine kleine Aufgabe eine so große ("grundlegende") Abhängigkeit zu schaffen. Wenn alles klug zu schreiben und refactor das gesamte Projekt - dann, natürlich, aber es ist nicht das Wesen der ursprünglichen Frage.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Bereinigung eines Arrays von bestimmten Elementen
Dmitry Fedoseev, 2018.11.12 23:05
Das ist eine Art Schande...©
1. Der Vergleich von Variablen des Typs double über == ist, gelinde gesagt, nicht komisch;
2. Die Komplexität des Codes ist O(n^2), und die schlechteste Komplexität für dieses Problem mit einer unsortierten Eingabesequenz sollte O(n) sein;
3. Der Code funktioniert nicht, denn wenn die Funktion tatsächlich verwendet wird, kann nicht festgestellt werden, wie viele gültige Werte das zurückgegebene Array enthält:
Ergebnis der Ausführung:
Die ungültigen Werte sind rot hervorgehoben, sie wurden nie aus dem Array entfernt.
Das ist eine Art Schande...©
1. Es ist nicht schön, Variablen vom Typ double mit == zu vergleichen, um es milde auszudrücken;
2. Die Code-Komplexität ist O(n^2), und die Worst-Case-Komplexität für dieses Problem mit einer unsortierten Eingabesequenz sollte O(n) sein;
3. Der Code funktioniert nicht, denn wenn die Funktion tatsächlich verwendet wird, kann nicht festgestellt werden, wie viele gültige Werte das zurückgegebene Array enthält:
Ergebnis der Ausführung:
Ungültige Werte, die nie aus dem Array entfernt wurden, sind rot hervorgehoben.
Jublik? So soll es sein. Der Vergleich von Variablen des Typs double ist ziemlich komisch, wenn sie vor dem Vergleich nicht berechnet werden.
Lernen Sie Rechnen. Was ist mit Scham?
Das ist eine Art Schande...©
1. Der Vergleich von Variablen des Typs double mit == ist, gelinde ausgedrückt, nicht komisch;
2. Die Codekomplexität ist O(n^2), und die schlechteste Komplexität für dieses Problem mit unsortierter Eingabesequenz sollte O(n) sein;
3. Der Code funktioniert nicht, denn wenn die Funktion tatsächlich verwendet wird, kann nicht festgestellt werden, wie viele gültige Werte das zurückgegebene Array enthält:
Ergebnis der Ausführung:
Ungültige Werte, die nie aus dem Array entfernt wurden, sind rot hervorgehoben.
Seien Sie nicht albern. Soll ich Ihnen Ihren Fehler erklären, oder können Sie ihn selbst erraten? Überhaupt nicht schwierig...
Drei Punkte, drei Korridore. Nein, eigentlich sind es nur zwei Paddocks.
ps, aber ich habe Vertrauen in Sie.
ps2 Hier ist das Ergebnis, wenn Sie die Funktion richtig verwenden:
Das ist schon besser:
Das ist schon besser:
Dimitri, lass mich dich aufrütteln - v ist auch ein Array.
Und überhaupt, das ist alles ein Haufen Unsinn.
Dimitri, lass mich dich beruhigen - v ist auch ein Array.
Und ganz allgemein ist das alles völliger Unsinn.
Wenn v ein Array ist, ist das kein Problem. Wahrscheinlicher ist jedoch die Tatsache, dass es sich um Unsinn handelt. Ich habe nie das Bedürfnis verspürt, diese Aufgabe zu lösen.
Wenn es so ein Schnelligkeitswettbewerb ist, werde ich auch meine eigene Variante anbieten:
Ich habe ein Testskript für alle Varianten geschrieben.
Wer ist der Nächste? :))Hier ist das Ergebnis für ein Array mit 1 000 000 Elementen (etwa 1000 zusätzliche Werte):
Peter, Awww....