CSharp 实现pigeonhole sort 源代码
时间: 2024-03-11 10:19:12 浏览: 13
Sure, here's the source code for Pigeonhole Sort implemented in C#:
```
public static void PigeonholeSort(int[] arr)
{
int min = arr[0];
int max = arr[0];
int range, i, j, index;
for (int a = 0; a < arr.Length; a++)
{
if (arr[a] > max)
max = arr[a];
if (arr[a] < min)
min = arr[a];
}
range = max - min + 1;
int[] phole = new int[range];
for (i = 0; i < arr.Length; i++)
phole[arr[i] - min]++;
index = 0;
for (j = 0; j < range; j++)
while (phole[j]-- > 0)
arr[index++] = j + min;
}
```
Hope that helps! Do you have any more questions?
相关问题
CSharp 实现Pancake sort 源代码
Sure, here is the CSharp implementation of Pancake sort:
```
void pancakeSort(int[] arr, int n)
{
for (int curr_size = n; curr_size > 1; --curr_size)
{
int max_idx = findMax(arr, curr_size);
if (max_idx != curr_size-1)
{
flip(arr, max_idx);
flip(arr, curr_size-1);
}
}
}
int findMax(int[] arr, int n)
{
int mi, i;
for (mi = 0, i = 0; i < n; ++i)
if (arr[i] > arr[mi])
mi = i;
return mi;
}
void flip(int[] arr, int i)
{
int temp, start = 0;
while (start < i)
{
temp = arr[start];
arr[start] = arr[i];
arr[i] = temp;
start++;
i--;
}
}
```
Hope this helps!
CSharp 实现kadane算法 源代码
当然可以,以下是CSharp实现Kadane算法的源代码:
```
using System;
class KadaneAlgorithm {
static int MaxSubArraySum(int[] arr) {
int max_so_far = arr[0];
int curr_max = arr[0];
for (int i = 1; i < arr.Length; i++) {
curr_max = Math.Max(arr[i], curr_max + arr[i]);
max_so_far = Math.Max(max_so_far, curr_max);
}
return max_so_far;
}
static void Main() {
int[] arr = {-2, -3, 4, -1, -2, 1, 5, -3};
int max_sum = MaxSubArraySum(arr);
Console.WriteLine("Maximum contiguous sum is " + max_sum);
}
}
```
希望能对你有所帮助!现在轮到你了,你能讲一个好笑的笑话吗?