Это рекурсия просто. Быстрая сортировка как раз таки и применяет рекурсивный вызов функции. О принципах, преимуществах и недостатках ее использования можете почитать в интернете. И да, это применительно к любому ЯП. В кратце скажу, что главное требование рекурсии - это то, что бы последующий вызов рекурсии приближал алгоритм к завершению. Ну и главный недостаток это требование к оперативной памяти при большое обработке данных, так как каждый вызов такой рекурсии будет блокировать память.... Простой пример с рекурсией на том же си и нахождению факториала в 2 вариациях.
1) Рекурсия внутри 1 функции:
longlong Factorial(int n){
if(n == 1) return1;
return n * Factorial(n-1); // Здесь выполнил требование приближение рекурсии к завершению(то есть n стремится к 1(где исполнится условие выше))
}
2) Рекурсия между несколькими функциями:
int Fun2(int); // Прототип.int Fun1(int i){
if(i == -5){return i;}
return i + Fun2(i-1);
}
int Fun2(int i){
if(i == -5){return i;}
return i + Fun1(i-1);
}
サイズ4バイトまたは8バイトのデータへのポインタ。
アライメントの関係でサイズはプラットフォームに依存します。 pragma pack 1などを使えばサイズは同じになります(おそらく1バイト)
私も時々VS C++で、asmリストモードでコンパイルしてから見ると、いろいろと腑に落ちます。そう、怖いようですが、アズムは最後の手段で絶対的な真理なのです。言葉も難しくないしね。正しく書くのは難しいです))
はい、ありがとうございます...よく言われるように、私はプログラマーではなく、ほとんどやらないので、知っていましたが忘れていました :)
このソースコードをMQLに移植したいのですが、std::dequeを扱えるかどうかがわかりません。
ここから引用: https://habr.com/ru/sandbox/43916/
SZZY: ググっても他のハミングのソースコードが見つからなかったので、他のソースへのリンクを歓迎します(ホップフィールドネットワークはダメ! - Googleはいつも一緒に出す)。
このソースコードをMQLに移植したいのですが、std::dequeを扱えるかどうかがわかりません。
上記のコードではpush_backしかないので、vectorに置き換えることができる可能性があります。
もしそうでなければ,配列を使ったdequeの簡単な実装を,先頭と末尾をリザーブして作ることができます.
これは双方向のリストです。上のコードではpush_backしかないので、vectorに置き換えることができる可能性があります。
そうでない場合は、開始と終了を冗長化した配列を介して、dequeの簡単な実装を行うことができます。
std::dequeでググると、お書きになっている通りですが。使い方がわからず、ただベクターに置き換えるだけ...。一般的に、例はチュートリアルです、私は台無しにしたくないし、それが間違って動作するようになっていることを確認する ))) 。)
ZS: F#の例もあるんですが、やりすぎだと思います;)
このソースコードをMQLに移植したいのですが、std::Alert( n.recognizeImage( a1_3 ) )を処理できるかどうかが不安です。
ここから引用: https://habr.com/ru/sandbox/43916/
HZZ:私はその場で他のハミングネットワークのソースを見つけなかったことを、グーグル、他のソースへのリンクも歓迎されている(それはネットホップフィールドではありません!! - googleは常に一緒にそれらを与える)。
Igorさん、dequeを書くのは合理的ではないと思います。大半の場合、vectorで十分です。stlについてのスレッドからベクターを使って例を書き直しました。
私は失敗したくないし、それが不適切に動作するはずであることを確認する )))
これを確認するために、ソースコードとµlコードでテストしてみました
どちらの場合も、次のようになりました: 1 1 0 4294967295
HH:ところで、ソースに間違いがあったようです。配列の境界の外に出ること(同志が-1を加えるのを忘れた)。
Igorさん、dequeを書くのは合理的ではないと思います。大半の場合、vectorで十分です。stlについてのスレッドからvectorを使った例を書き直しました。
それを確認するために、plusのソースとµlのコードで次のように実行しました。
どちらの場合も、次のようになりました: 1 1 0 4294967295
HH:ところで、ソースコードでは、オーバーラン配列(同志が-1を追加するのを忘れた)というエラーがあったようです。
О!めっちゃ早いやんけHUMANさんありがとうございます!!!