C#_基础:排序算法
2024-10-14 05:42:07
//希尔排序
static int[] ShellSort(int[] array)
{
if (array != null)
{
int[] list = { 9, 5, 3, 2, 1 };
foreach (int k in list)
{
for (int i = k; i < array.Length; i++)
{
int current = array[i];
int preIndex = i - k;
while (preIndex >= 0 && preIndex < array.Length && current < array[preIndex])
{
array[preIndex + k] = array[preIndex]; preIndex = preIndex - k;
}
array[preIndex + k] = current;
}
}
}
return array;
}
//插入排序
public int[] InsertSort(int[] array)
{
if (array != null)
{
int k = 1;//使用k变量,后面更好的扩展到Shell排序
for (int i = k; i < array.Length; i++)
{
int current = array[i];
int preIndex = i - k;
while (preIndex >= 0 && preIndex < array.Length && current < array[preIndex])
{
array[preIndex + k] = array[preIndex]; preIndex = preIndex - k;
}
array[preIndex + k] = current;
}
}
return array;
}
//冒泡排序
public int[] BubbleSort(int[] array)
{
if (array != null)
{
for (int i = 0; i < array.Length; i++)
{
for (int j = 1; j < array.Length - i; j++)
{
if (array[j - 1] > array[j])
{
int temp = array[j - 1];
array[j - 1] = array[j];
array[j] = temp;
}
}
}
}
return array;
}
最新文章
- Gravatar注册
- POJ(2187)用凸包求最远点对
- C# 毕业证书打印《二》
- Unity Standard Assets 简介之 Utility
- java 堆栈
- c++ 操作注册表
- 基于局部敏感哈希的协同过滤推荐算法之E^2LSH
- SSH—Struts(三)—跑步者(Action)
- Codeforces 869C The Intriguing Obsession
- MySQL备份mydumper的原理【转】
- c/c++ 标准库 string
- 词云wordcloud入门示例
- windows快速进入安装目录
- 在 Ubuntu 18.04 下安装 fcitx 及搜狗拼音输入法
- office(Word、Excel、PPT等图标异常和桌面无新建解决方案)
- 超详细 Nginx 极简教程,傻瓜一看也会!
- 微信公众号H5支付步骤
- Linux环境变量加载顺序
- RR和RC复合语句加锁
- rabbitmq 基本信息