#include class array { private: int nin; // number of elements long int *counters;// counters int ncounters; char **strings;// strings void do_sort(int subindex, int start, int end); public: array(int numberofcounters); ~array(); int addstring(char *string, int defvalue=1); int addelement(char *string); int getn(void) { return nin; } void setcounter(int index, int subindex, int value); int getcounter(int index, int subindex); int addcounter(int index, int subindex, int value); char * getstring(int index) { if (index>=nin) return NULL; else return strings[index]; } void sort(int subindex); void swap_entry(int index1, int index2); };