Shell排序允许交换数组中相距较远的项目,然后减少它们之间的差距。这是一种插入排序的推广。Shell排序之所以这样命名,是因为它最初是由唐纳德·谢尔发表的。下面给出了一个演示C#中Shell排序的程序 - 示例 在线演示 using System; namespace ShellSortDemo { public class Example { static void shellSort(int[] arr, int n) { int i, j, pos, temp; pos = 3; while (pos > ... 阅读更多
可以使用位运算符将数字乘以2。这是通过使用左移运算符并将位向左移动1位来完成的。这将导致数字翻倍。下面给出了一个演示使用位运算符将数字乘以2的程序。示例 在线演示 using System; namespace BitwiseDemo { class Example { static void Main(string[] args) { int num = 25, result; result = num
归并排序是一种使用分治法的排序算法。它将数组分成两部分,然后为这两部分分别调用自身。这个过程持续进行,直到数组排序完毕。下面给出了一个演示C#中归并排序的程序 - 示例 在线演示 using System; namespace QuickSortDemo { class Example { static public void merge(int[] arr, int p, int q, int r) { int i, j, k; int n1 = q - p + 1; int ... 阅读更多
矩阵乘法程序用于将两个矩阵相乘。只有当第一个矩阵的列数等于第二个矩阵的行数时,此过程才有可能。下面给出了一个演示C#中矩阵乘法的程序 - 示例 在线演示 using System; namespace MatrixMultiplicationDemo { class Example { static void Main(string[] args) { int m = 2, n = 3, p = 3, q = 3, i, j; int[, ] a = {{1, 4, 2}, {2, 5, 1}}; ... 阅读更多
快速排序是一种使用分治法的排序算法。它选择一个枢轴元素,并将其放在正确的位置。然后,使用快速排序再次对枢轴元素左侧和右侧的数组进行排序。这将持续进行,直到整个数组排序完毕。下面给出了一个演示C#中使用递归的快速排序的程序 - 示例 在线演示 using System; namespace QuickSortDemo { class Example { static public int Partition(int[] arr, int left, int right) { int pivot; pivot = ... 阅读更多