Subset sum problem: Difference between revisions
Content added Content deleted
(+ second D entry) |
m (→{{header|C}}) |
||
Line 247: | Line 247: | ||
#include <stdlib.h> |
#include <stdlib.h> |
||
typedef struct { char* data; int weight; } item; |
typedef struct { const char* data; int weight; } item; |
||
typedef struct { int sum; unsigned int mask; } sum_t; |
typedef struct { int sum; unsigned int mask; } sum_t; |
||
Line 267: | Line 267: | ||
int cmp_sums(const void *a, const void *b) |
int cmp_sums(const void *a, const void *b) |
||
{ |
{ |
||
return ((sum_t*)a)->sum - ((sum_t*)b)->sum; |
return ((const sum_t*)a)->sum - ((const sum_t*)b)->sum; |
||
} |
} |
||
sum_t *mksums(item *p, int n, int shift) |
sum_t *mksums(const item *p, int n, int shift) |
||
{ |
{ |
||
sum_t *r = malloc(sizeof(*r) * (1 << n)); |
sum_t *r = malloc(sizeof(*r) * (1 << n)); |