diff options
author | Alex AUVOLAT <alex.auvolat@ens.fr> | 2013-11-18 20:01:05 +0100 |
---|---|---|
committer | Alex AUVOLAT <alex.auvolat@ens.fr> | 2013-11-18 20:01:05 +0100 |
commit | fdd5de0c84cbddcc6b31d579d7006773682059ac (patch) | |
tree | 87be4a68469499912b3382887b9fc24fbc7c0912 /sets.c | |
parent | 91c9deef705fe60863ef32c86b81b8a94d35febf (diff) | |
download | AlgoProg-Projet-fdd5de0c84cbddcc6b31d579d7006773682059ac.tar.gz AlgoProg-Projet-fdd5de0c84cbddcc6b31d579d7006773682059ac.zip |
Finished implementation of sets with linked lists.
Diffstat (limited to 'sets.c')
-rw-r--r-- | sets.c | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#include "sets.h" + +/* + GENERIC FUNCTION FOR ALL KIND OF SETS +*/ + +set singleton(int n, int x) { + set k = empty_set(n); + set_add_ip(x, k); + return k; +} + +set set_union(const set a, const set b) { + set q = copy_set(a); + set_union_ip(q, b); + return q; +} + +set set_inter(const set a, const set b) { + set q = copy_set(a); + set_inter_ip(q, b); + return q; +} + +set set_diff(const set a, const set b) { + set q = copy_set(a); + set_diff_ip(q, b); + return q; +} + +set set_add(int x, const set s) { + set q = copy_set(s); + set_add_ip(x, q); + return q; +} + +set set_remove(int x, const set s) { + set q = copy_set(s); + set_remove_ip(x, q); + return q; +} |