📄 program.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace ShellSort
{
class Program
{
static void Main(string[] args)
{
ArrayShe ins = new ArrayShe(100);
Random r = new Random();
for (int i = 0; i < 10; i++)
{
ins.Insert(r.Next(0, 100));
}
ins.display();
ins.ShellSort();
ins.display();
}
}
class ArrayShe
{
private int[] arr;
int length;
public ArrayShe(int num)
{
arr = new int[num];
}
public void Insert(int value)
{
arr[length] = value;
length++;
}
public void ShellSort()
{
int inner, outer;
int temp;
int h = 1;
while (h <=length / 3)
h = h * 3 + 1;
while (h > 0)
{
for (outer = h; outer < length; outer++)
{
temp = arr[outer];
inner = outer;
while (inner > h - 1 && arr[inner - h] > temp)
{
arr[inner] = arr[inner - h];
inner -= h;
}
arr[inner] = temp;
}
h = (h - 1) / 3;
}
}
private void swap(int j, int p)
{
int temp;
temp = arr[p];
arr[p] = arr[j];
arr[j] = temp;
}
public void display()
{
for (int i = 0; i < length; i++)
{
Console.Write(arr[i] + " ");
}
Console.Write("\n");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -