title: How to implement a set?
body: <p>I want to implement a Set in C.
  Is it OK to use a linked list, when creating the SET, or should I use another approach ?</p>
  
  <p>How do you usually implement your own set (if needed). </p>
  
  <p>NOTE:
  If I use the Linked List approach, I will probably have the following complexities for Set my operations:</p>
  
  <ul>
  <li>init : O(1);</li>
  <li>destroy: O(n);</li>
  <li>insert: O(n);</li>
  <li>remove: O(n);</li>
  <li>union: O(n*m);</li>
  <li>intersection: O(n*m);</li>
  <li>difference: O(n*m);</li>
  <li>ismember: O(n);</li>
  <li>issubset: O(n*m);</li>
  <li>setisequal: O(n*m);</li>
  </ul>
  
  <p>O(n*m) seems may be a little to big especially for huge data... Is there a way to implement my Set more efficient ? </p>