This tag is for questions related to both data abstraction/encapsulation in general and for the usage of the various data structures provided by language or built by programmers. Stack and Queue are classic examples.

Data Encapsulation and Data Abstraction are general terms for the collection of homogeneous and heterogeneous data into a single structure. Data Structures are concrete realizations of the concept. Many languages provide a rich set of structures in the language or, more usually, in associated libraries. Not all useful structures are provided, however, so the programmer sometimes needs to build her or his own.

Homogeneous structures contain data of the same type. Heterogeneous structures contain data of possibly different types.

The operations of data structures typically, but not necessarily, include insertion and removal. Some support highly structured organization (sorted lists) and others only loose collections (sets).

Often, but not necessarily, data in the structure is accessed for usage elsewhere rather than having the structure itself provide all operations.

This tag does not envision that an object in an object-oriented programming language is a data structure. There are better tags available.

history | excerpt history