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();
}
}
}
查看全文
相关阅读:
mysql_单表查询
mysql_建表
MySQL基础
JS_左边栏菜单
Vue框架之组件系统
Vue常用语法及命令
Django的缓存,序列化,ORM操作的性能
Django中的form表单
Django中的auth模块
AJAX请求提交数据
原文地址:https://www.cnblogs.com/solo/p/609674.html
最新文章
81. Search in Rotated Sorted Array II
80. Remove Duplicates from Sorted Array II
79. Word Search
78. Subsets
C++:编译器合成默认构造函数和复制控制成员的条件
Effective C++ 条款7 为多态基类声明virtual析构函数
Effective C++ 条款6 若不想使用编译器自动生成的函数,就该明确拒绝
Effective C++ 条款4 确定对象被使用前已被初始化
Effective C++ 条款3 尽可能用const
Effective C++ 条款2 尽量以const,enum,inline替换#define
热门文章
Effective C++ 条款1 视C++为一个语言联邦
C:可变参数的函数
C:可变参数的宏
More Effective C++ 条款13 以reference方式捕捉exception
Django之ORM操作
Django之路由分发反向解析
Django异常问题之Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
Django中CBV的执行顺序之源码解析
pycharm异常问题之Unable to save settings: Failed to save settings. Please restart PyCharm
MySQL_查的小理解
Copyright © 2011-2022 走看看