zoukankan
html css js c++ java
C#排序算法大全
C#排序算法大全
土人
2004
-
7
-
21
一、冒泡排序(Bubble)
using
System;
namespace
BubbleSorter
{
public
class
BubbleSorter
{
public
void
Sort(
int
[] list)
{
int
i,j,temp;
bool
done
=
false
;
j
=
1
;
while
((j
<
list.Length)
&&
(
!
done))
{
done
=
true
;
for
(i
=
0
;i
<
list.Length
-
j;i
++
)
{
if
(list[i]
>
list[i
+
1
])
{
done
=
false
;
temp
=
list[i];
list[i]
=
list[i
+
1
];
list[i
+
1
]
=
temp;
}
}
j
++
;
}
}
}
public
class
MainClass
{
public
static
void
Main()
{
int
[] iArrary
=
new
int
[]
{
1
,
5
,
13
,
6
,
10
,
55
,
99
,
2
,
87
,
12
,
34
,
75
,
33
,
47
}
;
BubbleSorter sh
=
new
BubbleSorter();
sh.Sort(iArrary);
for
(
int
m
=
0
;m
<
iArrary.Length;m
++
)
Console.Write(
"
{0}
"
,iArrary[m]);
Console.WriteLine();
}
}
}
二、选择排序(Selection)
using
System;
namespace
SelectionSorter
{
public
class
SelectionSorter
{
private
int
min;
public
void
Sort(
int
[] list)
{
for
(
int
i
=
0
;i
<
list.Length
-
1
;i
++
)
{
min
=
i;
for
(
int
j
=
i
+
1
;j
<
list.Length;j
++
)
{
if
(list[j]
<
list[min])
min
=
j;
}
int
t
=
list[min];
list[min]
=
list[i];
list[i]
=
t;
}
}
}
public
class
MainClass
{
public
static
void
Main()
{
int
[] iArrary
=
new
int
[]
{
1
,
5
,
3
,
6
,
10
,
55
,
9
,
2
,
87
,
12
,
34
,
75
,
33
,
47
}
;
SelectionSorter ss
=
new
SelectionSorter();
ss.Sort(iArrary);
for
(
int
m
=
0
;m
<
iArrary.Length;m
++
)
Console.Write(
"
{0}
"
,iArrary[m]);
Console.WriteLine();
}
}
}
三、插入排序(InsertionSorter)
using
System;
namespace
InsertionSorter
{
public
class
InsertionSorter
{
public
void
Sort(
int
[] list)
{
for
(
int
i
=
1
;i
<
list.Length;i
++
)
{
int
t
=
list[i];
int
j
=
i;
while
((j
>
0
)
&&
(list[j
-
1
]
>
t))
{
list[j]
=
list[j
-
1
];
--
j;
}
list[j]
=
t;
}
}
}
public
class
MainClass
{
public
static
void
Main()
{
int
[] iArrary
=
new
int
[]
{
1
,
13
,
3
,
6
,
10
,
55
,
98
,
2
,
87
,
12
,
34
,
75
,
33
,
47
}
;
InsertionSorter ii
=
new
InsertionSorter();
ii.Sort(iArrary);
for
(
int
m
=
0
;m
<
iArrary.Length;m
++
)
Console.Write(
"
{0}
"
,iArrary[m]);
Console.WriteLine();
}
}
}
四、希尔排序(ShellSorter)
using
System;
namespace
ShellSorter
{
public
class
ShellSorter
{
public
void
Sort(
int
[] list)
{
int
inc;
for
(inc
=
1
;inc
<=
list.Length
/
9
;inc
=
3
*
inc
+
1
);
for
(;inc
>
0
;inc
/=
3
)
{
for
(
int
i
=
inc
+
1
;i
<=
list.Length;i
+=
inc)
{
int
t
=
list[i
-
1
];
int
j
=
i;
while
((j
>
inc)
&&
(list[j
-
inc
-
1
]
>
t))
{
list[j
-
1
]
=
list[j
-
inc
-
1
];
j
-=
inc;
}
list[j
-
1
]
=
t;
}
}
}
}
public
class
MainClass
{
public
static
void
Main()
{
int
[] iArrary
=
new
int
[]
{
1
,
5
,
13
,
6
,
10
,
55
,
99
,
2
,
87
,
12
,
34
,
75
,
33
,
47
}
;
ShellSorter sh
=
new
ShellSorter();
sh.Sort(iArrary);
for
(
int
m
=
0
;m
<
iArrary.Length;m
++
)
Console.Write(
"
{0}
"
,iArrary[m]);
Console.WriteLine();
}
}
}
白虎
Hello! I Am David.DU.
查看全文
相关阅读:
题目:心灵的抚慰
间谍网络
tarjan算法模版
rect
学校食堂
题目:自然的雪糕
Winform里众多上下文菜单的控制要怎么做?
ubuntu更新列表
瞧,Silverlight是如何被部署到客户机的
盖茨十条成功箴言 值得一生铭记
原文地址:https://www.cnblogs.com/whitetiger/p/1278468.html
最新文章
android 设计资源分享
別傻了,這件事沒有捷徑
php获取客户端IP地址的几种方法
关于java Socket与C#通信编码问题小结
Cygwin bash: clear: command not found
RESTful 接口规范
CSS backgroundimage 背景图不重复
php操作memcache
[MySQL] MySQL性能优化的最佳21条经验
【PHP错误】Cannot pass parameter 2 by reference
热门文章
C# Winform 全屏不显示任务栏
Memcached深度分析
VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法
验证控件输入是否为正整数,并不能为空
[转]仅 CSS的对话气泡效果
今天完成了一个真正意义上完整的gridview数据表操作
题目:11月15日的快乐
宿命的P.S.S
[NOIP1999]邮票面值设计
[NOIP09]Hankson的趣味题
Copyright © 2011-2022 走看看