《程序设计Csharp程序设计 (54).pdf》由会员分享,可在线阅读,更多相关《程序设计Csharp程序设计 (54).pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#程序设计 Programming in C#借助Array类的方法实现排序 C#程序设计程序设计 1、借助Array类的方法实现排序 5.4.2 Array类应用举例【例5.14】借助Array类实现例5.9的功能。(实现对一维数组元素的升序排列)4 5.4.2 Array类应用举例 例5.14 1 usingusing SystemSystem;2 classclass ArraySortArraySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint 1010;7 forfor(intint i
2、i=0 0;i i 1010;i i+)+)8 A A i i=ConvertConvert.ToInt32ToInt32(ConsoleConsole.ReadLineReadLine();();9 ArrayArray.SortSort(A A););/借助借助ArrayArray类的类的SortSort方法实现排序方法实现排序 10 foreachforeach(intint t t inin A A)/输出排序后的数组输出排序后的数组 11 ConsoleConsole.WriteWrite(t t+););12 13 5 5.4.2 Array类应用举例 例5.14 运行结果(与例5
3、.9相同)1 usingusing System;System;2 classclass ArraySortArraySort 3 4 static voidstatic void Main()Main()5 6 intint A A=newnew int10;int10;7 intint minPos,temp;minPos,temp;8 forfor(int(int i i=0;0;i i 10;10;i+)i+)9 Ai=Ai=Convert.ToInt32(Console.ReadLine();Convert.ToInt32(Console.ReadLine();10 Array.So
4、rt(A);/Array.Sort(A);/借助借助ArrayArray类的类的SortSort方法实现排序方法实现排序 11 foreachforeach(int(int t t inin A)/A)/输出排序后的数组输出排序后的数组 12 Console.Write(tConsole.Write(t+););13 14 9 12 29 33 34 56 67 71 98 120 98 12 67 34 71 33 29 56 9 120 6 5.4.2 Array类应用举例 例5.14 1 usingusing SystemSystem;2 classclass ArraySortArra
5、ySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint 1010;7 forfor(intint i i=0 0;i i 1010;i i+)+)8 A A i i=ConvertConvert.ToInt32ToInt32(ConsoleConsole.ReadLineReadLine();();9 ArrayArray.SortSort(A A););/借助借助ArrayArray类的类的SortSort方法实现排序方法实现排序 10 foreachforeach(intint t t inin A
6、 A)/输出排序后的数组输出排序后的数组 11 ConsoleConsole.WriteWrite(t t+););12 13 5.4.2 Array类应用举例【例5.15】借助Array类实现一维数组元素的降序排列。8 5.4.2 Array类应用举例 例5.15 1 usingusing SystemSystem;2 classclass ArraySortArraySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint 1010;7 forfor(intint i i=0 0;i i 1010;i
7、i+)+)8 A A i i=ConvertConvert.ToInt32ToInt32(ConsoleConsole.ReadLineReadLine();();9 ArrayArray.SortSort(A A););/借助借助SortSort方法实现数组元素升序排列方法实现数组元素升序排列 10 ArrayArray.ReverseReverse(A A););/借助借助ReverseReverse方法将数组元素反转,即实现降序方法将数组元素反转,即实现降序 11 foreachforeach(intint t t inin A A)/输出排序后的数组输出排序后的数组 12 Consol
8、eConsole.WriteWrite(t t+););13 14 9 5.4.2 Array类应用举例 例5.15 运行结果 1 usingusing System;System;2 classclass ArraySortArraySort 3 4 static voidstatic void Main()Main()5 6 intint A A=newnew int10;int10;7 intint minPos,temp;minPos,temp;8 forfor(int(int i i=0;0;i i 10;10;i+)i+)9 Ai=Ai=Convert.ToInt32(Consol
9、e.ReadLine();Convert.ToInt32(Console.ReadLine();10 Array.Sort(A);/Array.Sort(A);/借助借助SortSort方法实现数组元素升序排列方法实现数组元素升序排列 11 Array.Reverse(A);/Array.Reverse(A);/借助借助ReverseReverse方法将数组元素反转,即实现降序方法将数组元素反转,即实现降序 12 foreachforeach(int(int t t inin A)/A)/输出排序后的数组输出排序后的数组 13 Console.Write(tConsole.Write(t+);
10、);14 15 78 66 65 59 46 41 33 32 27 19 65 78 19 33 27 32 66 59 41 46 10 5.4.2 Array类应用举例 例5.15 1 usingusing SystemSystem;2 classclass ArraySortArraySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint 1010;7 forfor(intint i i=0 0;i i 1010;i i+)+)8 A A i i=ConvertConvert.ToInt32ToI
11、nt32(ConsoleConsole.ReadLineReadLine();();9 ArrayArray.SortSort(A A););/借助借助SortSort方法实现数组元素升序排列方法实现数组元素升序排列 10 ArrayArray.ReverseReverse(A A););/借助借助ReverseReverse方法将数组元素反转,即实现降序方法将数组元素反转,即实现降序 11 foreachforeach(intint t t inin A A)/输出排序后的数组输出排序后的数组 12 ConsoleConsole.WriteWrite(t t+););13 14 11 5.4
12、.2 Array类应用举例 例5.15 1 usingusing SystemSystem;2 classclass ArraySortArraySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint 1010;7 forfor(intint i i=0 0;i i 1010;i i+)+)8 A A i i=ConvertConvert.ToInt32ToInt32(ConsoleConsole.ReadLineReadLine();();9 ArrayArray.SortSort(A A););/借助
13、借助SortSort方法实现数组元素升序排列方法实现数组元素升序排列 10 ArrayArray.ReverseReverse(A A););/借助借助ReverseReverse方法将数组元素反转,即实现降序方法将数组元素反转,即实现降序 11 foreachforeach(intint t t inin A A)/输出排序后的数组输出排序后的数组 12 ConsoleConsole.WriteWrite(t t+););13 14 5.4.2 Array类应用举例【例5.22】借助Array类实现一维数组的部分元素排列。5.4.2 Array类应用举例 13 例5.22 1 usingus
14、ing SystemSystem;2 classclass ArraySortArraySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint 1010;7 intint minPos,tempminPos,temp;8 forfor(intint i i=0 0;i i 1010;i i+)+)9 A A i i=ConvertConvert.ToInt32ToInt32(ConsoleConsole.ReadLineReadLine();();10 ArrayArray.SortSort(A,A,2
15、2,8 8););/借助借助ArrayArray类的类的SortSort方法实现排序方法实现排序 11 foreachforeach(intint t t inin A A)/输出排序后的数组输出排序后的数组 12 ConsoleConsole.WriteWrite(t t+););13 14 14 5.4.2 Array类应用举例 例5.22 1 usingusing SystemSystem;2 classclass ArraySortArraySort 3 4 static voidstatic void MainMain()()5 6 intint A A=newnew intint
16、1010;7 intint minPos,tempminPos,temp;8 forfor(intint i i=0 0;i i 1010;i i+)+)9 A A i i=ConvertConvert.ToInt32ToInt32(ConsoleConsole.ReadLineReadLine();();10 ArrayArray.SortSort(A,A,2 2,8 8););/借助借助ArrayArray类的类的SortSort方法实现排序方法实现排序 11 foreachforeach(intint t t inin A A)/输出排序后的数组输出排序后的数组 12 ConsoleCo
17、nsole.WriteWrite(t t+););13 14 5.4.2 Array类应用举例【例5.23】借助Array类实现基于第一个 Array 中的关键字,对两个一维 Array 对象(一个包含关键字,另一个包含对应的项)进行排序。5.4.2 Array类应用举例 16 例5.23 1 usingusing SystemSystem;2 3 public classpublic class SamplesArraySamplesArray 4 5 public static voidpublic static void MainMain()()6 7 8 StringString my
18、KeysmyKeys=redred,GREENGREEN,YELLOWYELLOW,BLUEBLUE,purplepurple,blackblack,orangeorange;9 StringString myValuesmyValues=strawberriesstrawberries,PEARSPEARS,LIMESLIMES,BERRIESBERRIES,grapesgrapes,olivesolives,cantaloupecantaloupe;10 ArrayArray.SortSort(myKeysmyKeys,myValuesmyValues,1 1,3 3););11 Cons
19、oleConsole.WriteLineWriteLine(After sorting a section of the(After sorting a section of the Array using the default comparer:);Array using the default comparer:);12 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););5.4.2 Array类应用举例 17 例5.23 13 14 ArrayArray.SortSort(myKeysmyKeys,
20、myValuesmyValues););15 ConsoleConsole.WriteLineWriteLine(After sorting the entire Array(After sorting the entire Array using the default comparer:);using the default comparer:);16 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););17 18 19 public static voidpublic static void Prin
21、tKeysAndValuesPrintKeysAndValues(StringString myKeysmyKeys,StringString myValuesmyValues)20 21 forfor(intint i i=0 0;i i myKeysmyKeys.LengthLength;i i+)+)22 23 ConsoleConsole.WriteLineWriteLine(0,(0,-10:10:11,myKeysmyKeys i i,myValuesmyValues i i););24 5.4.2 Array类应用举例 18 例5.23 25 ConsoleConsole.Wri
22、teLineWriteLine();();26 27 19 5.4.2 Array类应用举例 例5.23 1 usingusing SystemSystem;2 3 public classpublic class SamplesArraySamplesArray 4 5 public static voidpublic static void MainMain()()6 7 8 StringString myKeysmyKeys=redred,GREENGREEN,YELLOWYELLOW,BLUEBLUE,purplepurple,blackblack,orangeorange;9 Str
23、ingString myValuesmyValues=strawberriesstrawberries,PEARSPEARS,LIMESLIMES,BERRIESBERRIES,grapesgrapes,olivesolives,cantaloupecantaloupe;10 ArrayArray.SortSort(myKeysmyKeys,myValuesmyValues,1 1,3 3););11 ConsoleConsole.WriteLineWriteLine(After sorting a section of the(After sorting a section of the A
24、rray using the default comparer:);Array using the default comparer:);12 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););20 5.4.2 Array类应用举例 例5.23 1 usingusing SystemSystem;2 3 public classpublic class SamplesArraySamplesArray 4 5 public static voidpublic static void MainMain()(
25、)6 7 8 StringString myKeysmyKeys=redred,GREENGREEN,YELLOWYELLOW,BLUEBLUE,purplepurple,blackblack,orangeorange;9 StringString myValuesmyValues=strawberriesstrawberries,PEARSPEARS,LIMESLIMES,BERRIESBERRIES,grapesgrapes,olivesolives,cantaloupecantaloupe;10 ArrayArray.SortSort(myKeysmyKeys,myValuesmyVal
26、ues,1 1,3 3););11 ConsoleConsole.WriteLineWriteLine(After sorting a section of the(After sorting a section of the Array using the default comparer:);Array using the default comparer:);12 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););21 5.4.2 Array类应用举例 例5.23 1 usingusing Syst
27、emSystem;2 3 public classpublic class SamplesArraySamplesArray 4 5 public static voidpublic static void MainMain()()6 7 8 StringString myKeysmyKeys=redred,GREENGREEN,YELLOWYELLOW,BLUEBLUE,purplepurple,blackblack,orangeorange;9 StringString myValuesmyValues=strawberriesstrawberries,PEARSPEARS,LIMESLI
28、MES,BERRIESBERRIES,grapesgrapes,olivesolives,cantaloupecantaloupe;10 ArrayArray.SortSort(myKeysmyKeys,myValuesmyValues,1 1,3 3););11 ConsoleConsole.WriteLineWriteLine(After sorting a section of the(After sorting a section of the Array using the default comparer:);Array using the default comparer:);1
29、2 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););22 5.4.2 Array类应用举例 例5.23 13 14 ArrayArray.SortSort(myKeysmyKeys,myValuesmyValues););15 ConsoleConsole.WriteLineWriteLine(After sorting the entire Array(After sorting the entire Array using the default comparer:);using the defau
30、lt comparer:);16 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););17 18 19 public static voidpublic static void PrintKeysAndValuesPrintKeysAndValues(StringString myKeysmyKeys,StringString myValuesmyValues)20 21 forfor(intint i i=0 0;i i myKeysmyKeys.LengthLength;i i+)+)22 23 Con
31、soleConsole.WriteLineWriteLine(0,(0,-10:10:11,myKeysmyKeys i i,myValuesmyValues i i););24 23 5.4.2 Array类应用举例 例5.23 13 14 Array.SortSort(myKeysmyKeys,myValuesmyValues););15 ConsoleConsole.WriteLineWriteLine(After sorting the entire Array(After sorting the entire Array using the default comparer:);us
32、ing the default comparer:);16 PrintKeysAndValuesPrintKeysAndValues(myKeysmyKeys,myValuesmyValues););17 18 19 public static voidpublic static void PrintKeysAndValuesPrintKeysAndValues(StringString myKeysmyKeys,StringString myValuesmyValues)20 21 forfor(intint i i=0 0;i i myKeysmyKeys.LengthLength;i i+)+)22 23 ConsoleConsole.WriteLineWriteLine(0,(0,-10:10:11,myKeysmyKeys i i,myValuesmyValues i i););24 结束