冒泡排序:
选择排序:
插入排序:
希尔排序:
1
public void BubbleSort(int[] list)
2
{
3
int i,j,temp;
4
bool done=false;
5
6
j=1;
7
8
while((j<list.Length) && (!done))
9
{
10
done=true;
11
12
for(i=0;i<list.Length-j;i++)
13
{
14
if(list[i]>list[i+1])
15
{
16
done=false;
17
18
temp=list[i];
19
20
list[i]=list[i+1];
21
22
list[i+1]=temp;
23
}
24
}
25
j++;
26
}
27
}
public void BubbleSort(int[] list)2
{3
int i,j,temp;4
bool done=false;5

6
j=1;7

8
while((j<list.Length) && (!done))9
{10
done=true;11

12
for(i=0;i<list.Length-j;i++)13
{14
if(list[i]>list[i+1])15
{16
done=false;17

18
temp=list[i];19

20
list[i]=list[i+1];21

22
list[i+1]=temp;23
}24
}25
j++; 26
}27
}选择排序:
1
public void SelectionSorter(int [] list)
2
{
3
int min;
4
5
for(int i=0;i<list.Length-1;i++)
6
{
7
min=i;
8
for(int j=i+1;j<list.Length;j++)
9
{
10
if(list[j]<list[min])
11
{
12
min=j;
13
}
14
}
15
int t=list[min];
16
17
list[min]=list[i];
18
19
list[i]=t;
20
}
21
}
public void SelectionSorter(int [] list)2
{3
int min;4
5
for(int i=0;i<list.Length-1;i++)6
{7
min=i;8
for(int j=i+1;j<list.Length;j++)9
{10
if(list[j]<list[min])11
{12
min=j;13
}14
}15
int t=list[min];16

17
list[min]=list[i];18

19
list[i]=t;20
}21
}插入排序:
1
public void InsertionSorter(int [] list)
2
{
3
for(int i=1;i<list.Length;i++)
4
{
5
int t=list[i];
6
int j=i;
7
8
while((j>0)&&(list[j-1]>t))
9
{
10
list[j]=list[j-1];
11
12
--j;
13
}
14
15
list[j]=t;
16
}
17
}
public void InsertionSorter(int [] list)2
{3
for(int i=1;i<list.Length;i++)4
{5
int t=list[i];6
int j=i;7

8
while((j>0)&&(list[j-1]>t))9
{10
list[j]=list[j-1];11

12
--j;13
}14

15
list[j]=t; 16
}17
}希尔排序:
1
public void ShellSorter(int [] list)
2
{
3
int inc;
4
5
for(inc=1;inc<=list.Length/9;inc=3*inc+1);
6
7
for(;inc>0;inc/=3)
8
{
9
for(int i=inc+1;i<=list.Length;i+=inc)
10
{
11
int t=list[i-1];
12
int j=i;
13
14
while((j>inc)&&(list[j-inc-1]>t))
15
{
16
list[j-1]=list[j-inc-1];
17
18
j-=inc;
19
}
20
21
list[j-1]=t;
22
}
23
}
24
}
public void ShellSorter(int [] list)2
{3
int inc;4

5
for(inc=1;inc<=list.Length/9;inc=3*inc+1);6

7
for(;inc>0;inc/=3)8
{9
for(int i=inc+1;i<=list.Length;i+=inc)10
{11
int t=list[i-1];12
int j=i;13

14
while((j>inc)&&(list[j-inc-1]>t))15
{16
list[j-1]=list[j-inc-1];17

18
j-=inc;19
}20

21
list[j-1]=t;22
}23
}24
}


浙公网安备 33010602011771号