pa08.h 768 B

12345678910111213141516171819202122
  1. #ifndef pa08_h
  2. #define pa08_h
  3. typedef struct snode {
  4. int index ;
  5. int value ;
  6. struct snode * left ;
  7. struct snode * right ;
  8. } SparseNode ;
  9. SparseNode * SparseNode_create(int index, int value);
  10. SparseNode * SparseArray_build(int * indicies, int * values, int length);
  11. void SparseArray_destroy ( SparseNode * array );
  12. int SparseArray_getMin ( SparseNode * array );
  13. int SparseArray_getMax ( SparseNode * array );
  14. SparseNode * SparseArray_getNode ( SparseNode * array , int index );
  15. SparseNode * SparseArray_remove ( SparseNode * array , int index );
  16. SparseNode * SparseArray_insert ( SparseNode * array, int index, int value );
  17. SparseNode * SparseArray_copy(SparseNode * array);
  18. SparseNode * SparseArray_merge(SparseNode * array_1, SparseNode * array_2);
  19. #endif