任务是为数组中的未知类型的元素编写heapsort(仅使用C代码),但我的代码不起作用.以下数字输出为'-100 7 -4 0 33 -3 67 1 5 44'我也尝试仅使用相同的代码进行int输入,并且它完美地工作.所以我认为问题在于将其更改为任何类型的输入.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <memory.h>
typedef int typeEl;
int compare(const void* a, const void* b)
{
return (*(typeEl*)a - *(typeEl*)b);
}
void swap(void* a, void* b, size_t sizeOfElem) {
void* tmp = calloc(1,sizeOfElem);
memcpy(tmp, a, sizeOfElem);
memcpy(a, b, sizeOfElem);
memcpy(b, tmp, sizeOfElem);
}
void heapify (int pos, int n, void* arr, size_t sizeOfElem, int (*comp)(const void* c, const void* d)) {
while (2 * pos + 1 …Run Code Online (Sandbox Code Playgroud) 我自己制作的课程需要支持哪些println()才能打印出来?例如,我有:
public class A {
...
}
Run Code Online (Sandbox Code Playgroud)
应该使用哪些方法A使此代码有效?也许是这样的:
public static void main() {
A a = new A();
System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)
我猜这个toString()方法必须重载.我对吗?这够了吗?
目标是从例如[(1,2),(3,4),(5,6)]这个数组[| 1,2,3,4,5,6 |]中得到.Msdn给出了一个Array.collect用法的简单示例.我也尝试过这样做
x |> Array.collect (fun (a,b) -> [|a,b|])
Run Code Online (Sandbox Code Playgroud)
但它仍然返回(a,b)[].我在这里先向您的帮助表示感谢.