1 冒泡排序法
1
冒泡排序法#region 冒泡排序法
2
public 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

3



4

5

6

7

8

9



10

11



12

13



14

15

16

17

18

19

20

21

22

23

24

25

2 选择排序法
1
选择排序法#region 选择排序法
2
public 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


2

3



4

5

6

7



8

9

10



11

12

13

14

15

16

17

18

19

20

21

22

23

3 插入排序法
1
插入排序法#region 插入排序法
2
public 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


2

3



4

5



6

7

8

9



10

11

12

13

14

15

16

4 希尔排序法
1
希尔排序法#region 希尔排序法
2
public 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/micheng11/archive/2008/08/14/1267703.html


2

3



4

5

6

7



8

9



10

11

12

13



14

15

16

17

18

19

20

21
