システム使用; 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] + ""); } } } }