研究では、C#の配列を指摘します

システム使用; 
System.Collections.Genericを使用して、
System.Linqのを使用して、
System.Textのを使用して、
使用System.Threading.Tasks; 

名前空間プロジェクト4 
{ 
    クラスプログラム
    { 
        静的な無効メイン(文字列[] args)
        { 
            //主入口
            //メソッド定義された空間アレイ
            新しい新しいINT // INT [] = ARR [10] {1,2 ,. 3 ,. 4 ,. 5 ,. 6 ,. 7 ,. 8 ,. 9、10}; 
            INT [] = {ARR 10、32、42であります、55、77、3、89、13、11、100}; 
            //配列フリップフロッ
            //反転(ARR);        
            //指定された値に指定された位置      
            // INSERT(ARR、1111 0); 
            //削除指定された配列指定された値 
            // deleteValue(ARR、115)。
            deleteValue2(ARR、77); 
            //指定されたターゲット要素削除
            // deletespecificSUBを(ARR、0); 
                                    //アレイ追加
                                    // INT [] = {11,11,11,99} BRRを; 
                                    // insertArrdataTo(ARR 、2、BRR); 
            //指定された値の置き換えは、
            //置き換える(ARR、77、44である); 
            //Console.WriteLine(indexof(arr,11)); 
            // Console.WriteLineを(lastIndexOfでも(ARR、400)); 
                                     昇順// 
                                     // fromMintoMax(ARR); 
                                     //指定された位置値に指定された位置を削除
                                       // deletekinddata(ARR、0,2)。
                                       // deletekinddata2(ARR、0、2 ); // 呼び出し 
            要素の指定された位置指定された長さを削除//
            ; // deletecountdata(ARR、0,2)は
            arrshow(ARR); //上記の変更後、アレイは変化
            Console.ReadKeyを(); // Console.ReadLine (); 

        } 
        /// <まとめ> 
        ///アレイ反転
        /// </要約> 
        /// <PARAM = "ARR"名>外部から渡された配列</ PARAM> 
        静的ボイド反転(INT [] ARR)
        { 
            // INT I =(INT)()/ 2 arr.length; 
            回数は//配列、必要な演算計算:全長の半分
            (int型A = 0 <arr.Length /を2; A ++)
            { 
                //バブルおよび選択を参照。すなわち:一時領域として、中間変数を使用します。
                int型のトン。
                //はTに割り当てられた最後から二番目の配列(最後するための第2 ......)であろう。
                T = ARR [arr.Length - 1 - A]。
                ARR [arr.length - 1 - A] = ARR [A]; 
                //この場合、メモリアドレス値の割り当ての一部に対応するTの名前である
                ARR [A] = T; 
            }            
        } 
        /// <まとめ> 
        / //値が指定された配列の指定された位置に挿入される
        /// </要約>の値を上書きした後の値として挿入されたときに、配列の長さは変更することができない
        /// <PARAM NAME =「ARR」 > 着信をアレイ</ PARAM> 
        /// <PARAM NAME = "インデックス">挿入位置</ PARAM> 
        /// <PARAM名= "値">加算値</ PARAM> 
        静的ボイド挿入(INT [] ARR、INTインデックス、int値) 
                ARR [I] = ARR [I - 1。 ];
            }      
          //静的な無効INSERT(INT [] ARR、インデックス、
              用(INT I = -arr.length 1; I>索引; i--)
            { 
                //リアカバレッジ値の前で直接使用数) 
                //配列内の指定された値を見つけますarr.Length  -  1。J ++)
                (ARR [I] ==値)IF 
                { 
                    //現在の位置から開始して、使用後の表紙の値
                    のためには、(INT I = J; J <arr.length - 1; J ++)
                    { 
                        ARR [J] = ARR [ 1 + J]; 
                    } 
                } 
                // IndexOfメソッドを使用して、別の方法、。
                他の
                { 
                    //Console.WriteLine( "!見つからない削除できませんでした"); 
                    リターン; 
                } 


            } 
            配列代入0の//最後
            ARR [arr.lengthは- 1] = 0; 
        } 
        //あなたが呼び出すことができます:
        静的な無効deleteValue2(int型[] ARR、int値) 
        { 
            おそらくメモリ内の変数の//定義標準の
            int型のインデックス=のindexOf(ARR、値);             
            //目標値を削除するように変更。なぜむしろインデックス++よりもインデックスが、ある:後ろにインデックス値を削除した後、グリッド転送するため
            deletespecificSUB(ARR、指数); 
        } 

        /// <概要>
        ///指定された配列の添字の値を削除し、変数カスタム
        /// </要約> 
        /// <PARAM NAME = "ARR"> </ param>の
        /// <PARAM NAME = "インデックス"> </ PARAM > 
        静的ボイドdeletespecificSUB(INT [] ARR、INTインデックスが)
        { 
            //配列を検索
            するための(INT I = 0; I <= arr.length - 1; I ++)
            { 
                //インデックスが決定される
                なら(I ==インデックス)
                    //配列そこから検索          
                    するための(INT I = J; J <arr.length - 1; J ++)
                    { 
                        フロントカバーとの値//値
                        ARR [J] =のARR [J + 1]。
                    } 
                } 
            } 
            //最後に割り当てられた0 
            ARR [arr.length - 1] = 0; 
        } 
        /// <まとめ> 
        ///配列指定された位置に、補間値の別のアレイ
        /// </要約>が配列に挿入され、配列の長さは、ARRの長さ未満でなければならない
        /// <PARAM NAME = "ARR"> </ PARAM> 
        /// <PARAM NAME = "インデックス">挿入が開始されるように添字</ PARAM> 
        静的ボイドinsertArrdataTo(INT [] ARR、INTインデックスは、[] BRR INT)
        { 
            //、場合カバレッジの問題を制限を追加。新しいアレイの作成
            2つの配列の//配列と配列の長さよりも短い全長
            最初の移動操作後の//
             
            のために(; Iは索引+ brr.Lengthを<I ++はI =インデックスをINT)
            { 
                
                //ときに挿入するとアレイ要素の元の長さおよび配列の要素の数は、元の頭部よりも大きい
                
                    //元の配列要素が後方に移動します
                    ウー//; ARR = ARR [I] [Iはbrr.Length +]   
                    ; - // ARR [I] = ARR [brr.Length I] 
                    //データが取り込ま   
                      
                
            } 
            サイクルに値://王。また、挿入の数を考慮
            するため(INT J = 0; J <brr.Length &&インデックス<arr.length; J ++、インデックス++)
            { 
                ARR [インデックス]はBRR [J]を=; 
            } 
               
        } 
        /// <まとめ> 
        ///アレイで指定された値は、指定された値置き換える
        /// </要約> 
        /// <PARAM NAME = "newValueにします">数値投与</ PARAM> 
        静的ボイドは、[] ARR、OLDVALUE int型INT(交換します 
        /// <PARAM NAME = "ARR">列</ param>の
        ///番号</ PARAM> <PARAM NAME = "OLDVALUE"> 置換される 
            (INTのためにI = 0; I <arr.Length; iは++)
           以下のために(;私は<arr.length I ++はI = 0 INT)
            { 
                //を見つける
                (ARR [I] == OLDVALUE)はIF 
                { 
                    //置き換えない場合
                    ARR [I] = newValueに; 
                } 
            } 
        } 
        /// <要約> 
        ///指定された位置は、最初の発生の合計の配列戻り
        /// </要約> 
        /// <PARAM NAME = "ARR"> </ PARAM> 
        /// <PARAM名= "値" > </ PARAM> 
        /// <> </戻り値を返し>      
        静的INTのindexOfは([] ARR、int値をINT)
        { 
            { 
                //唯一の文がないブラケットなくてもよい場合の背後に他なら 
                //外部数の値に等しい見つかった場合は、インデックスを返す
                ([I] ==値ARR)場合、私が返す;                 
            } 
            //クエリをそうでない場合、-1を返し、
                戻り-1;               
        } 
        /// <要約> 
        ///は、アレイ内の指定された値を返し、最後に出現する位置
        /// </要約> 
        /// <PARAM NAME = "ARR"> </ PARAM> 
        /// <PARAM NAME = "値"> </ PARAM> 
        静的int型のlastIndexOf(INT [] ARR、INT値)
        { 
            //逆の考え方によって、最初最後の正の逆数
            のためには、(INT I = arr.Length - 1 。 I> = 0;i--) 
            { 
                IF(ARR [I] ==値)
                {
                    //この関数は直接バックするために実行される 
                    IF(ARR [J]>
                    ;私は返す
                } 
            } 
            配列のインデックスは0から始まるので、//。
            //は正の整数を返す任意不合理であり、-1を返す        
        } 
        /// <まとめ> 
        昇順に配列された///配列要素、
        /// </要約> 
        /// <PARAM NAME = "ARR"> </ PARAM> 
        静的ボイドfromMintoMax(INT [] ARR)
        { 
            //交換の数:2サイクルの周りでなければならない
            ため(。。INT I = 1; Iはarr.lengthを< - 1; I ++)
            { 
                ため(INT J = 0。 J <arr.length - I; J ++)
                { 
                    int型T; 
                    { 
                        T = ARR [J]。 
                        ARR [J] = ARR [J + 1]; 
                        ARR [J + 1] = T; 
                    } 
                } 
            } 
 
        } 
        /// <まとめ> 
        一定期間値///指定された配列を削除し、指定されたインデックスから削除します添字指定された
        </要約> /// 
        /// <PARAM NAME = "ARR"> </ param>の
        </ PARAM>を削除開始する開始位置/// <PARAM NAME = "SINDEX"> 
        ///ます。<param name = "eIndexは">終了位置を削除しますが、終了位置</ param>の値が含まれていない
        静的ボイドdeletekinddataを(eindexをint型、[] ARR、SINDEX int型をint型)
        { 
            //それは、最後の1が含まれていません。 eIndex> arr.Length。分析
            の場合(SINDEX <0 || eIndex> ARRを。
            int型の温度= SINDEX。
            用(INT J = Eindex; J <arr.length; J ++)
            { 
                ARR [TEMP] = ARR [J]; 
                // ARR [SINDEX] = ARR [J]; SINDEX値が変更されない
                TEMP ++; 
                // SINDEX ++ ;直接使用し、その値が変更され、割り当て周期が正常に使用できない場合
            } 
            //はクリアされ、したがって、値0が割り当ての数を決定します。
            (x--; X> = arr.Length-(Eindex-SINDEX)。1 INT X = -arr.length)用
            { 
                ; ARR [X] = 0 
            } 
        } 
        /// <まとめ> 
        要素の端///まだ削除されました。
        /// </要約> 
        /// <PARAM NAME = "ARR"> </ param>の
        /// <PARAM NAME = "SINDEX"> </ param>の
        ボイドdeletekinddata2静的([] ARR、SINDEX INTをINT、Eindex INT)
        { 
            IF(Eindex <0 || SINDEX> arr.length)リターン; 
            //私は:削除する数を示し
            、Iは、(i = 0、int型のための < SINDEX-Eindex; Iは++)
            { 
                // deletespecificSUB:指定されたインデックスを削除し、配列の値の数を削除した後、前方つのスペースを移動します。
                //次に、削除すべき位置SINDEX 
                deletespecificSUB(ARR、SINDEX); 
            } 
        } 



        /// <まとめ> 
        ///指定された場所から除去番号配列の指定された値、将来の指定された番号を削除する削除
        // / </要約> 
        /// <PARAM NAME = "ARR"> </ param>の
        /// <PARAM NAME = "SINDEX"> </ param>の開始位置を削除します
        <///
        静的ボイドdeletecountdata(INT [] ARR、SINDEX、INT長さINT)
        { 
            ため(INT i = 0; I <arr.Length; iは++)
            { 
                 (int型J = SINDEX +長さのために- 1、J> = SINDEX; J- - )
                { 
                    // ARR [J] = 0; 
                    用(INT X = SINDEX +長さ- 1; X <arr.Length-1であり、x ++)
                    { 
                        int型のT。
                        T = ARR [X + 1]。
                        = ARR [X] [X + 1] ARR。
                        ARR [X] Tを=。
                    } 
                } 
                 
              
            } 
            のための(INT Y = arr.Length - 1; Y> = arr.Length -長さ; y--) 
            { 
                ARR [Y] = 0; 
            }
        }          
        のアレイ内のすべての要素を表示// 
        静的ボイドarrshow([] ARR INT )// 着信パラメータタイプを定義する
        { 
            ため(;私は<arr.length I ++はI = 0 INT)
            { 
                Console.Write(ARRを[I] + ""); 
            }   
        } 
         
    } 
}

  

おすすめ

転載: www.cnblogs.com/allyh/p/11456430.html