C#几种常用的排序算法

王朝c#·作者佚名  2008-05-30
窄屏简体版  字體: |||超大  

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<list.Length))

9 {

10 for(int i=0;i<list.Length -j;i++)

11 {

12 if(list[i]<list[i+1])

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<list.Length-1;i++)

7 {

8 min=i;

9 for(int j=i+1;j<list.Length;j++)

10 {

11 if(list[j]<list[min])

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<list.Length;i++)

5 {

6 int t=list[i];

7 int j=i;

8 while((j>0)&&(list[j-1]<t))

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

http://www.cnblogs.com/fineboy/archive/2006/09/28/517055.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航