darylm503 4710c53dca AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python 2.7.3 made them unavailable from the python.org web site.
These files are a subset of the python-2.7.2.tgz distribution from python.org.  Changed files from PyMod-2.7.2 have been copied into the corresponding directories of this tree, replacing the original files in the distribution.

Signed-off-by: daryl.mcdaniel@intel.com


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13197 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-16 22:12:42 +00:00

28 lines
928 B
C

/* "Rotating trees" (Armin Rigo)
*
* Google "splay trees" for the general idea.
*
* It's a dict-like data structure that works best when accesses are not
* random, but follow a strong pattern. The one implemented here is for
* access patterns where the same small set of keys is looked up over
* and over again, and this set of keys evolves slowly over time.
*/
#include <stdlib.h>
#define EMPTY_ROTATING_TREE ((rotating_node_t *)NULL)
typedef struct rotating_node_s rotating_node_t;
typedef int (*rotating_tree_enum_fn) (rotating_node_t *node, void *arg);
struct rotating_node_s {
void *key;
rotating_node_t *left;
rotating_node_t *right;
};
void RotatingTree_Add(rotating_node_t **root, rotating_node_t *node);
rotating_node_t* RotatingTree_Get(rotating_node_t **root, void *key);
int RotatingTree_Enum(rotating_node_t *root, rotating_tree_enum_fn enumfn,
void *arg);