<Li> free (s) or destroy (s), that reclaims the memory and other resources used by s . </Li> <P> The free operation is not normally relevant or meaningful, since ADTs are theoretical entities that do not "use memory". However, it may be necessary when one needs to analyze the storage used by an algorithm that uses the ADT . In that case one needs additional axioms that specify how much memory each ADT instance uses, as a function of its state, and how much of it is returned to the pool by free . </P> <P> Some common ADTs, which have proved useful in a great variety of applications, are </P> <Ul> <Li> Container </Li> <Li> List </Li> <Li> Set </Li> <Li> Multiset </Li> <Li> Map </Li> <Li> Multimap </Li> <Li> Graph </Li> <Li> Stack </Li> <Li> Queue </Li> <Li> Priority queue </Li> <Li> Double - ended queue </Li> <Li> Double - ended priority queue </Li> </Ul>

Abstract data type in data structure in c