C#几种常用的排序算法
2008-03-22 21:12
435 查看
C#几种常用的排序算法:
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 选择排序法
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
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
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
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 选择排序法
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
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
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
相关文章推荐
- 几种常用排序算法的c#实现(冒泡、选择、插入)
- C#中常用的几种排序算法
- C#几种常用的排序算法:
- C#几种常用的排序算法
- C#几种常用的排序算法
- 几种常用排序算法(asp.c#.c)
- C#几种常用的排序算法:
- 【轻松学排序算法】眼睛直观感受几种常用排序算法
- 黑马程序员----Java中几种常用排序算法(选择排序、冒泡排序、快速排序)
- 眼睛直观感受几种常用排序算法
- C#中常用的几种读取XML文件的方法
- 几种常用的排序算法(c语言实现)
- 几种常用的基本排序算法
- 写出几种常用的排序算法以及执行效率
- 总结几种常用的排序算法(含代码)
- java几种常用的排序算法
- 几种常用排序算法总结
- c#使用输出html字符串进行导出excel功能时,常用到得几种格式:
- C#中几种常用的处理字符串的方法总结
- C# 启动外部程序的几种常用方法汇总