CShap数字字符串排序 源代码
时间: 2024-02-04 10:02:37 浏览: 22
以下是一个用C#编写的数字字符串排序的源代码:
using System;
using System.Linq;
class Program
{
static void Main(string[] args)
{
string[] numbers = { "10", "9", "100", "200", "50" };
Console.WriteLine("排序前:");
foreach (string number in numbers)
{
Console.Write(number + " ");
}
Array.Sort(numbers, (a, b) => int.Parse(a).CompareTo(int.Parse(b)));
Console.WriteLine("\n排序后:");
foreach (string number in numbers)
{
Console.Write(number + " ");
}
Console.ReadLine();
}
}
该程序首先声明一个包含数字字符串的数组,然后使用Array.Sort方法进行排序。在这个例子中,使用lambda表达式作为比较器来确保以数字方式排序。最后,程序在控制台上打印排序前和排序后的数字字符串。
相关问题
CShap 字符串压缩 源代码
以下是一个C#字符串压缩的示例代码:
```csharp
public static string Compress(string uncompressed)
{
byte[] data = Encoding.UTF8.GetBytes(uncompressed);
using (MemoryStream outputStream = new MemoryStream())
{
using (DeflateStream compressionStream = new DeflateStream(outputStream, CompressionMode.Compress))
{
compressionStream.Write(data, 0, data.Length);
}
return Convert.ToBase64String(outputStream.ToArray());
}
}
public static string Decompress(string compressed)
{
byte[] data = Convert.FromBase64String(compressed);
using (MemoryStream inputStream = new MemoryStream(data))
{
using (MemoryStream outputStream = new MemoryStream())
{
using (DeflateStream decompressionStream = new DeflateStream(inputStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(outputStream);
}
return Encoding.UTF8.GetString(outputStream.ToArray());
}
}
}
```
这个示例使用了C#的标准库中的DeflateStream类来进行压缩和解压缩。压缩的过程是将字符串转换成字节数组,然后使用DeflateStream进行压缩并转换成Base64字符串。解压缩的过程是将Base64字符串转换成字节数组,然后使用DeflateStream进行解压缩并转换成字符串。
CShap sleep sort睡眠排序 源代码
以下是C#实现的睡眠排序(Sleep Sort)的源代码:
```csharp
using System;
using System.Threading;
class SleepSort {
static void Main(string[] args) {
int[] arr = {5, 3, 9, 4, 1, 6, 8, 2, 7};
foreach (int num in arr) {
new Thread(() => {
Thread.Sleep(num * 1000);
Console.WriteLine(num);
}).Start();
}
}
}
```
该代码首先定义了一个整数数组 `arr`,然后遍历该数组中的每个元素,创建一个新线程并将该元素作为参数传递给线程。在每个线程中,线程将休眠 `num` 秒,然后输出该数字。
由于每个线程的休眠时间不同,因此数字将按升序输出。例如,假设数组中有数字 `5` 和 `3`,则线程 `3` 会在线程 `5` 之前完成,因此 `3` 将先于 `5` 输出。
要使用不同的数字,请修改数组 `arr` 中的元素。请注意,由于该算法涉及线程,因此可能会影响系统性能,因此请谨慎使用。