問題タブ [swap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 2つの数値を交換するC++組み込み?
C++には、STLの一部など、次の代わりに2つの数値を交換する組み込み機能がありますか?
このようなもの:
swapValues はテンプレートです。
unix - 常駐メモリ使用量の制限
プロセスが使用できる仮想メモリの量を制限せずに、プロセスが使用できる物理メモリの量を制限したいと考えています。私はこれを、メモリ不足の下でさまざまなアルゴリズムの動作を測定するために行っており、利用可能なさまざまな量の物理メモリでパフォーマンスをテストする必要があります。または、何らかの方法でプロセスの常駐メモリの制限をサポートするオペレーティング システムが必要です。
残念ながら、Linux は を尊重/強制しませんしsetrlimit(RLIMIT_RSS, ...)
、OSX もそうではありません.[1] これを実行できるオペレーティング システムを教えてください。OSX 以外の BSD はありますか? Solaris でこれを行うメカニズムはありますか? Windowsのいくつかのバリアントはこれを行うことができますか?
[1] Linux は要求を完全に無視し、OSX はそれを使用して、物理メモリが使い果たされたときに最初に何をスワップアウトするかを決定します。Xメガのメモリしか使用できない場合、どちらもアルゴリズムの動作を分析するのに役立ちません。Linux にはカーネル内でこれを行うためのメカニズムがないことが判明したため、誰かがこれを可能にするカーネル フォークを教えてくれない限り、完全に失敗しています。Solaris にはそのオプションすらありませんがsetrlimit()
、私が知らない別の方法があるかもしれません。
database - TDataset Delphiで2つのレコードを交換する最良の方法は?
一般的に Delphi とデータベース プログラミングは初めてですが、TDataset 内のレコードを交換するより良い方法があるかどうか知りたいですか? いくつかのヘルプを読みましたが、明白な方法が見つかりません。現在、レコードが Eof マーカーに到達するまでデータセットを下に移動する手順を実装しています。ただし、データの最後のレコードに到達すると、奇妙なエラーが発生します。私が持っているのは、アクティブなレコードをジャグリングしながらデータなどを保持しようとする標準的な配列スタイルのスワップ ルーチンを実装したことだけです。
これまでのコード
swap - if 条件、キャスト、または追加の変数を使用せずに、2 つの整数変数をどのように交換しますか?
2 つの整数変数があります。if 条件を使用したり、キャストしたり、追加の変数を使用したりせずに、これらの整数変数を交換できますか? 例えば:
a > b
いつも。答えはa == 5
、b == 10
html - Image Swap は Firefox では機能しませんが、IE では機能します
私はコーディングに関しては初心者ですが、WYSIWYG アプローチがうまく機能しているため、Dreamweaver を介して自分の Web ページをセットアップする過程にありました。問題は、クリックイベントでばらばらの画像スワップを実装しようとしていることです.IEではうまくいきますが、Firefoxではうまくいきません..問題のページ
http://www.sdmkdesign.com/central%20drive.html#
誰かが助けてくれれば幸いです。
どうもありがとう
スク
scala - Scalaでコレクション要素を交換するための優れた機能的な方法は何ですか?
私のプロジェクトでは、1つの一般的なユースケースが出続けています。ある時点で、ある種のソートされたコレクション(List、Seqなどは関係ありません)とこのコレクションの1つの要素があります。私がやりたいのは、指定された要素を次の要素(この要素が存在する場合)と交換するか、場合によっては前の要素と交換することです。
私は、手続き型プログラミング手法を使用してこれを実現する方法をよく知っています。私の質問は、関数型プログラミング(Scala)を使用して問題を解決するための良い方法は何でしょうか?
回答ありがとうございます。私自身が最も理解しているものを受け入れました。私は(まだ)関数型プログラマーではないので、どちらの答えが本当に最良であるかを判断するのはちょっと難しいです。私の意見では、それらはすべてかなり良いです。
c++ - std::swap は 0xBAADF00D を返します
Visual 2005 で 2 つの std::list< dontcare* >::iterator を交換しようとしています。
スワップは機能しますが、if() スコープを離れると、it1 は 0xbaadfood を指します。It2 は問題ありませんが、swap_iter や手作りのスワップなど、いくつかのバリエーションを試しました。
どんな助けでも感謝します:)
編集
さて、残念な時間です。
スワップされた it1 は、if のスコープ内のローカル変数でした。
めちゃくちゃカットアンドペースト。お時間を無駄にして申し訳ありません:/
c++ - C++ でポインターを使用して配列を交換する
スワップする必要がある double へのポインターの配列が 2 つあります。配列内のデータをコピーするだけでなく、ポインターを配列に交換するだけの方が効率的です。私は常に、配列名は本質的に単なるポインターであるという印象を受けていましたが、次のコードはコンパイラ エラーを受け取ります。
配列を動的に作成すると問題は解決しますが、私のアプリケーションでは実行できません。どうすればこれを機能させることができますか?
algorithm - 回転とスワップを使用した2次元トロイダル配列の並べ替え
アルゴリズムを考えてみましたが、できませんでした。ここに問題があります:
16の要素があり、4つのタイプ(a、b、c、およびd)でグループ化されています。また、A、B、C、Dの4つのグループがあります。
初期状態では、4つのグループにはそれぞれ4つのランダムな要素があります。例:
グループ内の要素の順序は重要です。
許可される操作は2つあります。
1)グループの要素を(両方向に)回転させます。例:
2)最初と最後のグループと要素も隣接していることを考慮して、グループ内の2つの隣接する要素を隣接するグループ内の対応する要素と交換します。
また
アルゴリズムの目的は、要素を対応するグループ(A: a, a, a, a
など)に配置することです。アルゴリズムは、時間とソリューションの点で最適である必要はありませんが、平均して適度に高速である必要があります(つまり、ブルートフォースがない)。
誰か助けてもらえますか?このアルゴリズムは多項式でさえありますか?
python - python:[[1,2],[3,4],[5,6],[7,8]] [[1],[2,3],[4,5],[6,7]に変換]、[8]] およびその逆
私の現在のソリューションポインターは
- 新たに組み立てられた内部リストを生成するイテレータ クラスを介した ether
- または、新しく組み立てられた内部リストを生成する iter 関数を介して
この課題を解決する別のより良い方法はありますか?
編集
@グレン:良い異議。リストが思ったように並べられていなかったので、私はそれについて考えていませんでした。
@ THC4k: 解決策をありがとう。chain.from_iterable を学びました
@Mike DeSimone: うーん、あなたのソリューションをテストしましたが、何かがうまくいかなかったかもしれません。
@ジェイミーとオドモントワ: より詳細に指摘してくれてありがとう
私の目標
私は、タスクのリスト (ペア/タプル: (start,stop)) を単純化されたタスクのリストに変換する小さなアルゴリズムを作成しています。ここでは、重複するタスクが一緒にマージされます。
1 つの例外: あるイベントが別のイベントと完全にオーバーラップすると、私のアルゴリズムは失敗します (s1 s2 e2 e1 )。
詳細:
- ペアを含むリスト「taskList」があります(教訓-タプル:)。
- 各タプルは、2 つの datetime オブジェクト (タスクの開始と終了) で構成されます。
- 重要: タスクが重複する可能性があるため、開始によって順序が決定される「taskList」の年表
- 「taskList」は数日で構成されているため、datetime オブジェクト
例、読みやすくするために時間の単なる文字列表現
最終的な結果:
今私の考えは、私が質問した方法で「taskList」を再配置したときでした
これで、a >= b のタプル (a,b) を削除できます。
そして元に戻す: