問題タブ [jagged-arrays]

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.

0 投票する
2 に答える
800 参照

java - ジャグ配列 Java の初期化

このメニュー構造をJavaで表現するより良い方法はありますか? 問題は、文字列と配列を含む配列を宣言していることだと思います-不可能ですよね?

だから私はこれを試しました:

それでも良くない。

0 投票する
1 に答える
604 参照

c# - ジャグ配列型のプロパティ

私がこのようなプロパティを持っているとしましょう:

呼び出し元のコードは、配列の値を自由に変更できますが、配列自体を置き換えることもできます。これは、次のようにセッターを非表示にすることで簡単に防ぐことができます。

これにより、呼び出し元のコードで値を変更できますが、配列を別の配列に変更したり、サイズを変更したりすることはできません。

このパターンは多次元配列で機能しますが、ジャグ配列では機能しません。私がこれを持っている場合:

メインアレイは変更できませんが、子アレイは変更できます。子配列を読み取り専用にして、呼び出し元のコードが要素を変更できるが、配列は変更できない場合はどうなりますか?

ジャグ配列の要素のみを変更可能にするにはどうすればよいですか?これには3D以降が含まれます。

0 投票する
1 に答える
664 参照

c++ - クラスのジャグ配列

私の新しい仕事では、これまでC++スキルを実際に使用したことがほとんどないことに気づいています。私は今、いくつかの自主的なOOPの実践に苦労しており、クラスのギザギザの配列で立ち往生しています。

コードは次のとおりです。

ScheduleEntryは明らかに他の場所で定義されており(メンバー関数は定義されています)、コンパイルしようとしたときに発生するエラーは次のとおりです。

私が見つけたジャグ配列のものを読んだ後、これは私がそれを実装するために考えることができる最も簡単で最も読みやすい方法です。まず最初に-そうですか?もっと簡単な方法はありますか?

次に(もちろん)コンパイラエラー。どうやってタイピングを台無しにしたのですか?

前もって感謝します。=)

編集:

幸せな媒体を見つけました。

0 投票する
1 に答える
2026 参照

c# - 各項目を反復せずに、ジャグ配列を直接 2D 配列に変換しますか?

DataTable を Excel シートに保存しようとしています..私のコードはこのようなものです..

Excel の範囲には配列 [,] として範囲値が必要ですが、DataTable はギザギザの配列 [] [] です。

ギザギザの配列[][]を2D配列[][]に直接変換する組み込み関数はありますか? Excel、DataTable、および割り当てを反復処理すると、大量のデータを使用すると遅くなるようです..

また、Excel 用の DSN を使用したクエリをセットアップしたくありません。データベースの構成を避けるために Excel ストレージを選択しました。:PI は、Excel にデータを書き込む方法の詳細な説明を見つけました 。 microsoft.com/kb/306023

0 投票する
1 に答える
405 参照

c# - ギザギザの 2 次元リストを 1 次元リストに転置

ZoomableCanvas http://blogs.msdn.com/b/kaelr/archive/2010/08/11/zoomableapplication2-a-million-items.aspxを実装しています

これは、キャンバス内のオブジェクトの仮想化表示を可能にする WPF コントロールです。仮想化を利用するには、ライブラリでデータソース オブジェクトに「Query」というメソッドを実装する必要があります。Query メソッドは Rect を指定すると IEnumerable<int> を遅延して返します。ここで、int は要素のデータソース内の位置を表し、Rect はキャンバスの表示領域です (キャンバスに表示されない項目は返されないため、描画されません)。 . 私のデータ ソースは、X 値と Y 値が並べ替えられるように並べ替えられます (myList[0] には最小の X、Y 座標が含まれます)。

この情報があれば、次のようにしてアイテムを取得できます

ただし、リスト全体をトラバースしており、リストには 10 万以上のアイテムがあります。これは、特にキャンバスの右下を表示する場合、これらのアイテムがリストの最後にあるため、パフォーマンスが著しく低下します。

そこで、データを転置して、キャンバス上の可視領域のポイントを取得し、配列内で対応するインデックスを正確に把握できるようにしました。

これは、マップに「タイル」が欠落しているか不完全である可能性があるため、データセットが不規則である(マップを描いている)ことを除いて機能します。したがって、私の配列は本質的にギザギザです。「タイル」が欠落しているぎざぎざのデータセットの図

基本的に、2D 配列の要素が完全ではないか連続していない可能性がある 1D 配列の 2D ジオメトリを指定して、要素をすばやく識別できる方法を探しています。通常、[y * widthOfAllItems] + x は、適切な 2d -> 1d 転置を提供します。しかし、要素が欠落しているため、方程式は外れています。どんな助けでも大歓迎です!

0 投票する
5 に答える
1075 参照

c++ - 複数のタイプのジャグ配列

それが可能かどうかはよくわかりませんが、ジャグ配列に複数のタイプを含めることができます

最初の2Dレイヤーがbytesタイプのデータ構造レイヤーが必要です。次の2Dレイヤーは整数型またはfloatタイプになり、最後に2Dレイヤーは再びbyteになり、レイヤーの総数は変わる可能性があります。

はいの場合、それは可能ですか?C#でどのように宣言し、C ++でどのように宣言しますか?

0 投票する
4 に答える
26161 参照

c++ - 可変サイズの行を持つ C++ 2 次元配列

arr[][]たとえば、 5行で各行に可変数の列がある2D配列を作成するにはどうすればよいでしょうか?

おそらく4 列のarr[5][] 1 行目arr[0][]

5列の2行目arr[1][]など?

STL ベクトル ソリューションは気にしませんが、ベクトルについてはまだよくわかりません。

0 投票する
1 に答える
579 参照

c# - ジャグ配列に列を挿入する

現在、各行のすべての列に値を入力していますが、これは非常に遅いです。しかし、ビジネス ロジックによると、少なくとも 5 列ではすべての値が -1 であり、約 5 列ではすべての値が同じ (ただし、変数からのもの) であることがわかっています。

したがって、特定の列インデックスに配列を挿入することにより、ギザギザの配列を作成する効率的な方法があることを知りたいです。

0 投票する
1 に答える
442 参照

c# - 新しい配列をジャグ配列に挿入する方法

こんにちは、どんな助けにも感謝します。

わかりました、まず、このようなジャグ配列と次のコードを宣言しました

これで、ギザギザの配列には内部に 1 つの配列が含まれます。次は、次のように配列を埋める必要があります。

今、私のギザギザの配列は次のようになります(この例のデータも挿入します):

今、私の質問は、宣言した場合に以前のデータを失うことなく、新しい配列を挿入するにはどうすればよいですか

前のデータからデータを失います。次のようになります。

最初の2つの配列から宣言しなかった理由は、使用する数がわからないためです.1または20である可能性があり、新しい配列を作成する必要があるたびに、以前のデータが失われます記入してください、注意していただきありがとうございます、

0 投票する
1 に答える
233 参照

c# - 3D 配列を異なる順序でトラバースする

私はこのような配列を持っています:int[][][] grid_floor_row_col;

私はこのようにそれをトラバースしたい:int[][][] grid_row_col_floor;

最初にforループを変更してから、配列を変更しようとしました(新しいものにコピーします)が、それができません。私の心はそれ以上進みません...それがそうであるかどうかさえわかりません可能..

それは同じデータです。列ごと、行ごとにすべてのフロアを読み取り、異なる順序でトラバースする必要があるだけです....これが私がどのようにトラバースしていたかです:

今、トラバースする必要があります:

とても些細なことのようですが、それでもわかりません..