希尔排序允许交换数组中相距较远的项目,然后减少它们之间的差距。这是一种插入排序的推广。希尔排序之所以这样命名,是因为它首先由唐纳德·希尔发表。一个演示 C# 中希尔排序的程序如下所示:示例 在线演示 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 = ... 阅读更多
IP 地址是互联网协议地址,它是分配给计算机网络上每个设备的一系列数字。在 C# 中,System.Net 命名空间中的 IPAddress 类处理 IP 地址。一个用于验证 IP 地址的程序如下所示:示例 在线演示 using System; using System.Net; using System.Net.Sockets; using System.Text.RegularExpressions; namespace IPaddressDemo { class Example { public static void Main() { IPAddress IP; Console.WriteLine("请输入 IP 地址:"); string ipAddr = Console.ReadLine(); ... 阅读更多
帕斯卡三角形包含以三角形形式排列的数字,其中三角形的边为数字 1,三角形内的数字是其正上方两个数字的和。一个演示帕斯卡三角形创建的程序如下所示。示例 在线演示 using System; namespace PascalTriangleDemo { class Example { public static void Main() { int rows = 5, val = 1, blank, i, j; Console.WriteLine("帕斯卡三角形"); for(i = 0; i