zoukankan
html css js c++ java
希尔排序(C#数据结构学习八)
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
SoloDataStructure
{
class
MyShellSort
{
/**/
///
<summary>
///
希尔排序
///
</summary>
///
<param name="arr">
需要排序的数列
</param>
static
void
ShellSort (
int
[] arr)
{
int
temp;
//
int
n
=
arr.Length;
int
gap
=
n
/
2
;
//
初始步长
while
(gap
!=
0
)
{
for
(
int
i
=
gap; i
<
arr.Length; i
++
)
{
int
j;
temp
=
arr[i];
for
(j
=
i; j
>=
gap; j
=
j
-
gap)
//
同子序列的插入排序
{
if
(temp
<
arr[j
-
gap])
arr[j]
=
arr[j
-
gap];
//
如果后面的小于前面的,交换位置
else
break
;
}
arr[j]
=
temp;
//
插入
}
gap
/=
2
;
//
缩短步长
}
}
static
void
Main(
string
[] args)
{
int
[] arr
=
new
int
[]
{
99
,
198
,
97
,
96
,
905
,
44
,
93
,
2
,
91
}
;
Console.Write(
"
希尔排序前:
"
);
for
(
int
i
=
0
; i
<
arr.Length; i
++
)
Console.Write(arr[i]
+
"
.
"
);
ShellSort(arr);
Console.Write(
"
\n希尔排序后:
"
);
for
(
int
i
=
0
; i
<
arr.Length; i
++
)
Console.Write(arr[i]
+
"
.
"
);
Console.ReadLine();
}
}
}
查看全文
相关阅读:
Linux的命令2
运维书
管理MariaDB
MariaDB基础命令
Linux创建桥接网络
聚合网络
kickstart
VLAN原理
进程优先和ACL
计划任务at、crontab
原文地址:https://www.cnblogs.com/solo/p/609674.html
最新文章
LeetCode-Remove Duplicates from Sorted Array
LeetCode-Pow
机器学习基础概念
2016 ICPC Mid-Central USA Region J. Windy Path (贪心)
POJ 3468 A Simple Problem with Integers (分块)
HDU 6651 Final Exam (思维)
2018 ECNA Regional Contest J. Watch Where You Step
2017 ICPC Asia Urumqi A.coins (概率DP + 期望)
HDU 1548 A strange lift (BFS)
HDU 2266 How Many Equations Can You Find (DFS)
热门文章
POJ 3641 Pseudoprime numbers (数论+快速幂)
POJ-1995-Raising-Modulo-Numbers-快速幂
汽车
nodeJS o
CreateJS
SSH
JAva
WebServiceS
git
客户端与服务器端
Copyright © 2011-2022 走看看