C#(C#培訓 )幾種常用的排序算法:
1 冒泡排序法
1冒泡排序法#region 冒泡排序法
2public void Sort(int[] list)
3{
4 long begintime = System.DateTime.Now.Second*1000 System.DateTime.Now.Millisecond;
5 WriteLine(begintime);
6 int j,temp;
7 j= 1;
8 while((j 9 { 10 for(int i=0;i 11 { 12 if(list[i] 13 { 14 temp = list[i]; 15 list[i] = list[i 1]; 16 list[i 1] = temp; 17 } 18 } 19 j ; 20 } 21 long endtime = System.DateTime.Now.Second*1000 System.DateTime.Now.Millisecond; 22 WriteLine(endtime); 23 WriteLine(endtime-begintime); 24} 25#endregion 2 選擇排序法 1選擇排序法#region 選擇排序法 2public void SortChoice(int [] list) 3{ 4 long begintime = System.DateTime.Now.Millisecond; 5 int min; 6 for(int i=0;i 7 { 8 min=i; 9 for(int j=i 1;j 10 { 11 if(list[j] 12 min=j; 13 } 14 int t=list[min]; 15 list[min]=list[i]; 16 list[i]=t; 17 } 18 long endtime = System.DateTime.Now.Millisecond; 19 WriteLine(begintime); 20 WriteLine(endtime); 21 WriteLine(endtime-begintime); 22} 23#endregion 3 插入排序法 1插入排序法#region 插入排序法 2public void SortInsert(int [] list) 3{ 4 for(int i=1;i 5 { 6 int t=list[i]; 7 int j=i; 8 while((j>0)&&(list[j-1] 9 { 10 list[j]=list[j-1]; 11 --j; 12 } 13 list[j]=t; 14 } 15} 16#endregion 4 希爾排序法 1希爾排序法#region 希爾排序法 2public void SortShell(int [] list) 3{ 4 int inc; 5 for(inc=1;inc<=list.Length/9;inc=3*inc 1); 6 for(;inc>0;inc/=3) 7 { 8 for(int i=inc 1;i<=list.Length;i =inc) 9 { 10 int t=list[i-1]; 11 int j=i; 12 while((j>inc)&&(list[j-inc-1]>t)) 13 { 14 list[j-1]=list[j-inc-1]; 15 j-=inc; 16 } 17 list[j-1]=t; 18 } 19 } 20} 21#endregion