希尔排序允许交换数组中相距较远的项,然后缩小它们之间的间隔。这是一种插入排序的推广。希尔排序之所以这样命名,是因为它最初是由唐纳德·希尔发表的。以下给出了一个演示 C# 中希尔排序的程序 - 示例 实时演示使用 System; 命名空间 ShellSortDemo { public class Example { static void shellSort(int[] arr, int n) { int i, j, pos, temp; pos = 3; while (pos > ... 阅读更多
归并排序是一种使用分治法的排序算法。它将数组分成两部分,然后为这两部分分别调用自身。此过程将持续进行,直到数组排序。以下给出了一个演示 C# 中归并排序的程序 - 示例 实时演示使用 System; 命名空间 QuickSortDemo { 类 Example { static public void merge(int[] arr, int p, int q, int r) { int i, j, k; int n1 = q - p + 1; int ... 阅读更多
快速排序是一种使用分治法的排序算法。它获取一个枢纽元素并将其放置在其正确的位置。然后使用快速排序再次对枢纽元素左侧和右侧的数组进行排序。这将持续进行,直到整个数组排序。以下给出了一个演示 C# 中使用递归执行快速排序的程序 - 示例 实时演示使用 System; 命名空间 QuickSortDemo { 类 Example { static public int Partition(int[] arr, int left, int right) { int pivot; pivot = ... 阅读更多
帕斯卡三角形以三角形形式包含数字,其中三角形的边缘是数字 1,三角形内部的数字是其正上方两个数字的和。以下给出了一个演示如何创建帕斯卡三角形的程序。示例 实时演示使用 System; 命名空间 PascalTriangleDemo { 类 Example { public static void Main() { int rows = 5, val = 1, blank, i, j; Console.WriteLine("帕斯卡三角形"); for(i = 0; i