タグ付けされた質問 「array」

配列は、通常は行と列にある同様のオブジェクトの体系的な配置です。

30
なぜゼロベースの配列が標準なのですか?
ここで尋ねられた質問は、仲間のプログラマーとの話し合いを思い出させてくれました。彼は、ゼロベースの配列は配列とポインターおよびコンピューターハードウェアの動作方法に由来する実装の詳細であるため、ゼロベースの配列を1ベースの配列に置き換える必要があると主張しましたが、これらの種類はより高いレベルに反映されるべきではありません言語。 今、私は議論するのがあまり得意ではないので、ゼロベースの配列に固執する正当な理由を提供することはできませんでした。配列の一般的な出発点はなぜゼロなのですか?
112 array 

3
「for-loop」の考え方から離れるにはどうすればよいですか?
これはかなり概念的な質問ですが、これについては良いアドバイスが得られることを望んでいました。私が行うプログラミングの多くは(NumPy)配列を使用しています。多くの場合、サイズの異なる2つ以上の配列のアイテムを一致させる必要があり、最初に行うのはforループまたはさらに悪いことにネストされたforループです。forループは(少なくともPythonでは)遅いので、できる限り避けたいです。 NumPyの多くのことには、調査するだけでよい事前定義コマンドがありますが、(経験豊富なプログラマーとして)何かを反復する必要があるときに思い浮かぶ一般的な思考プロセスがありますか? だから私はしばしばこのようなものを持っていますが、これはひどいので避けたいです: small_array = np.array(["one", "two"]) big_array = np.array(["one", "two", "three", "one"]) for i in range(len(small_array)): for p in range(len(big_array)): if small_array[i] == big_array[p]: print "This item is matched: ", small_array[i] 特にこれを達成するための複数の異なる方法があることを知っていますが、もしあれば、一般的な考え方に興味があります。
79 python  array  loops 

6
文字列リテラルでchar []を初期化するのは悪い習慣ですか?
私はCodeGuruで「strlen vs sizeof」というタイトルのスレッドを読んでいましたが、回答の1つは「とにかくchar文字列リテラルで配列を初期化する[sic]悪い習慣です」と述べています。 これは本当ですか、それとも彼の(「エリート会員」ではあるが)意見ですか? 元の質問は次のとおりです。 #include <stdio.h> #include<string.h> main() { char string[] = "october"; strcpy(string, "september"); printf("the size of %s is %d and the length is %d\n\n", string, sizeof(string), strlen(string)); return 0; } 右。サイズは長さに1を加えたものでなければなりませんか? これは出力です the size of september is 8 and the length is 9 サイズは必ず10にする必要があります。strcpyによって変更される前に文字列のsizeofを計算し、その後に長さを計算するようなものです。 私の構文に何か問題がありますか? ここで回答は: とにかく、文字列リテラルでchar配列を初期化するのは悪い習慣です。したがって、常に次のいずれかを実行してください。 …

5
C#List <>での.Any()の使用法は何ですか?
私は同僚とこれについて議論してきましたが、C#で、.Any特定のの使用が何であるかを理解できませんでしたList&lt;&gt;。 次のステートメントのように、配列内の要素の有効性を確認できます。 if (MyList.Any()){ ...} //Returns true or false これはまったく同じです if (MyList.Count() != 0) { ... } if声明の意図についてより一般的で読みやすく明確です。 最終的に、私たちはこの考えに固執しました: .Any() 使用することもできますが、同様に機能しますが、プログラマの意図についてはあまり明確ではなく、その場合は使用しないでください。 しかし、これは正しくないように感じます。私たちは何かを見逃しているに違いありません。 私たちは?
40 c#  array  list 

2
PHP:いつ配列を使用し、ほとんどのデータを保存するコード構成にオブジェクトを使用するのですか?
PHPは混合パラダイム言語であり、配列などの非オブジェクトデータ型を使用して返すことができます。特定の状況でどのプログラミング構成を使用するかを決定する際に、配列とオブジェクトの選択に関するいくつかのガイドラインを明確にしようとする質問を投げかけます。 これは、PHP言語の構造を使用してデータをエンコードする方法と、データの受け渡しの目的(つまり、サービス指向アーキテクチャまたはWebサービス)で他の方法を選択する可能性が高い場合についての質問です。 例 {cost、name、part_number、item_count}で構成されるアイテムタイプがあるとします。プログラムでは、そのようなアイテムタイプをいくつか表示する必要があります。ここでは、各アイテムタイプを保持する外部コンテナとして配列を使用することにします。[PHP ArrayObjectをオブジェクト指向パラダイムに使用することもできますが、私の質問はその(外部)配列に関するものではありません]。私の質問は、アイテムタイプデータをエンコードする方法と、使用するパラダイムについてです。PHPでは、PHP Native Arraysまたはを使用できますPHP Objects。 このようなデータは、次の2つの方法でエンコードできます。 //PHP's associative arrays: $ret = array( 0 =&gt; array( 'cost' =&gt; 10.00, 'name' =&gt; 'item1', 'part_number' =&gt; 'zyz-100', 'item_count' =&gt; 15 ), 1 =&gt; array( 'cost' =&gt; 34.00, 'name' =&gt; 'item2', 'part_number' =&gt; 'abc-230', 'item_count' =&gt; 42 ), ); 対 //here …

11
「4次元」は配列でどのように機能しますか?
抽象: ですから、私が理解しているように(非常に限られた理解しかありませんが)、私たちは(通常)物理的に作業する3つの次元があります。 1番目は線で表されます。 2番目は正方形で表されます。 3番目は立方体で表されます。 私たちが4番目に到達するまで十分に単純です-私が意味することを知っているなら、3D空間で描くのはちょっと難しいです...それは時間と関係があると言う人もいます 質問: さて、それはあまり意味がありませんが、それはすべて私にとって素晴らしいです。私の質問はこれに関するものではなく、MathSOまたはPhysicsSOで質問することです。私の質問は次のとおりです。コンピューターはこれをアレイでどのように処理しますか? さまざまなプログラミング言語で4D、5D、6Dなどの配列を作成できることは知っていますが、その仕組みを知りたいと思います。
30 theory  array 

3
リストまたは配列を使用する必要がありますか?
アイテム番号のUPCを計算するために、Windowsフォームで作業しています。 一度に1つのアイテム番号/ UPCを処理するものを正常に作成しました。次に、複数のアイテム番号/ UPCに対して拡張および実行したいと思います。 リストを使い始めてみましたが、行き詰まってしまいます。ヘルパークラスを作成しました。 public class Codes { private string incrementedNumber; private string checkDigit; private string wholeNumber; private string wholeCodeNumber; private string itemNumber; public Codes(string itemNumber, string incrementedNumber, string checkDigit, string wholeNumber, string wholeCodeNumber) { this.incrementedNumber = incrementedNumber; this.checkDigit = checkDigit; this.wholeNumber = wholeNumber; this.wholeCodeNumber = wholeCodeNumber; this.itemNumber = …
22 c#  array  winforms  list 

3
巨大な配列をいっぱいにすることなく大きな問題を生成するプロフェッショナルな方法:C ++、配列の一部からメモリを解放
私は物理シミュレーションを開発していますが、プログラミングが初めてなので、大規模なプログラムを作成するときに問題が発生し続けます(主にメモリの問題)。動的メモリの割り当てと削除(新規/削除など)については知っていますが、プログラムをどのように構成するかについて、より良いアプローチが必要です。 非常に大きなサンプリングレートで、数日間実行されている実験をシミュレートしているとしましょう。10億個のサンプルをシミュレートし、それらを実行する必要があります。 非常に単純化されたバージョンとして、プログラムは電圧V [i]を取り、それらを5で合計すると言います。 すなわち、NewV [0] = V [0] + V [1] + V [2] + V [3] + V [4] NewV [1] = V [1] + V [2] + V [3] + V [4] + V [5] 次に、NewV [2] = V [2] + V [3] + V [4] + …
20 c++  data  memory  array  dynamic 

3
順序付けされた情報をリレーショナルデータベースに保存する方法
注文した情報をリレーショナルデータベースに適切に保存する方法を理解しようとしています。 例: 曲で構成されるプレイリストがあるとします。リレーショナルデータベース内には、Playlistsいくつかのメタデータ(名前、作成者など)を含むの。また、私はと呼ばれるテーブルを持っSongs含む、playlist_id曲固有の情報(名前、アーティスト、期間など)だけでなく、。 デフォルトでは、新しい曲がプレイリストに追加されると、最後に追加されます。Song-ID(昇順)で注文する場合、注文は追加の順序になります。しかし、ユーザーがプレイリストの曲を並べ替えることができるとしたらどうでしょうか? いくつかのアイデアを思いつきました。それぞれに長所と短所があります。 と呼ばれる列orderは、。整数です。曲を移動すると、その変更を反映するために、古い位置と新しい位置の間のすべての曲の順序が変更されます。これの欠点は、曲を移動するたびに多くのクエリを実行する必要があり、移動アルゴリズムが他のオプションほど簡単ではないことです。 orderという10進数の列(NUMERIC)。曲を移動すると、隣接する2つの数字の間に浮動小数点値が割り当てられます。欠点:10進数フィールドはより多くのスペースを必要とし、数回変更するたびに範囲を再分散するように注意しない限り、精度が不足する可能性があります。 別の方法はprevious、next他の曲を参照するフィールドとフィールドを持つことです。(または、現在、プレイリストの最初の曲、最後の曲の場合はNULLです。基本的には、リンクリストを作成します)。欠点:「リストでX番目の曲を見つける」などのクエリは、一定時間ではなく、線形時間になります。 これらの手順のうち、実際に最もよく使用されるのはどれですか?これらの手順のうち、中規模から大規模のデータベースで最も速いのはどれですか?これを実現する他の方法はありますか? 編集:簡単にするため、この例では、ソングは1つのプレイリストにのみ属します(多対1の関係)。もちろん、ジャンクションテーブルを使用して、song⟷playlistを多対多の関係にすることもできます(そして、そのテーブルに上記の戦略の1つを適用します)。

4
サイズ、インデックスなどの場合はsize_tまたはint
C ++では、size_t(または、より正確にはT::size_type「通常」であるsize_t、すなわち、unsignedタイプ)の戻り値として使用されsize()、引数operator[]等、(参照std::vector、ら。)。 一方、.NET言語は同じ目的でint(および、オプションでlong)を使用します。実際、CLS準拠の言語は、符号なしの型をサポートする必要はありません。 .NETがC ++よりも新しいことを考えると、配列インデックスや長さのように「おそらく」負になれないものでも使用に問題があるかもしれunsigned intないということがわかります。後方互換性のためのC ++アプローチは「歴史的なアーティファクト」ですか?または、2つのアプローチの間に実際の重要な設計上のトレードオフがありますか? なぜこれが重要なのですか?さて... C ++の新しい多次元クラスには何を使うべきですか。size_tまたはint? struct Foo final // e.g., image, matrix, etc. { typedef int32_t /* or int64_t*/ dimension_type; // *OR* always "size_t" ? typedef size_t size_type; // c.f., std::vector&lt;&gt; dimension_type bar_; // maybe rows, or x dimension_type baz_; // e.g., columns, or y …
15 c#  c++  array 

1
配列の要素数を計算するために、sizeof(TYPE)よりもsizeof(element)を好むのはなぜですか?
私は「キングKNのCプログラミング」を読んでいて、次の文を見つけました。 式sizeof(a)/sizeof(a[0])を使用して配列内の要素数を計算することについて説明しました。式sizeof(a)/sizeof(t)(tはaの要素の型)も機能しますが、劣った手法と見なされます。 なぜそれが劣った技術と見なされるのですか?
15 c  array 

6
C配列の長さが0にできないのはなぜですか?
C11標準では、サイズと可変長の両方の配列は「ゼロより大きい値を持つ必要がある」としています。長さ0を許可しない理由は何ですか? 特に可変長配列の場合、時々ゼロのサイズを設定することは完全に理にかなっています。また、静的配列のサイズがマクロまたはビルド構成オプションからのものである場合にも役立ちます。 興味深いことに、GCC(およびclang)は、長さゼロの配列を許可する拡張機能を提供します。Javaでは、長さゼロの配列も使用できます。
13 c  array 

2
配列要素に角括弧を使用する習慣はどのように発展しましたか?
多くのプログラミング言語は、構文a[i]を使用してi配列、シーケンス、またはベクトルのi番目の要素を参照します。a具体的には、CおよびPascal(1960年代後半から1970年代初頭)はこれを行います。一方、Fortran(1950年代のもの)などの一部の初期の言語では、この規則を使用していません。また、私は少し数学を研究し、数学者は間隔に角括弧、配列と行列の添え字(または配列が負でない整数の関数と考えられる場合は通常の括弧)に添え字を使用します。 だから、私の質問です:配列の添え字用のこの角かっこは、どこで、どのように、どのようなコンテキストで開発されましたか? 注:Cでの中括弧の使用に関するこの質問の真似はまったくありません。
11 history  array  syntax 

8
配列とスタックの違いは何ですか?
ウィキペディアによると、スタック: 後入れ先出し(LIFO)の抽象データ型と線形データ構造です。 一方で、配列: 要素(値または変数)のコレクションで構成されるデータ構造であり、それぞれが少なくとも1つの配列インデックスまたはキーによって識別されます。 私が理解している限り、それらはかなり似ています。では、主な違いは何ですか?それらが同じでない場合、配列がスタックでできないこと、およびその逆ができることは何ですか?

6
並べ替えられていない配列の範囲から最大値を取得しています
私が持っている未ソート配列を。範囲を指定し、その範囲の最大値を返さなければならないクエリがあります。例えば: array[]={23,17,9,45,78,2,4,6,90,1}; query(both inclusive): 2 6 answer: 78 任意の範囲から最大値をすばやく取得するために構築するアルゴリズムまたはデータ構造。(クエリがたくさんあります) 編集: これは確かに実際の問題の単純なバージョンです。配列のサイズは100000まで、クエリの数は100000までにすることができます。そのため、高速なクエリ応答を促進する前処理が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.