|
C#几种常用的排序算法_.net资料_编程技术-数科优化网 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;i11 { 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;j10 { 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
|