线性表:
typedef int ElemType;//元素类型
typedef struct node
{ElemType data;
struct node *next;
}LNode,*LinkList;
栈
#define MAX 100 //栈的最大值
typedef struct
{ ElemType base[MAX];
int top;
}SqStack;
队列
#define MAX 100 //队列的最大长度
typedef struct
{ ElemType base[MAX];
int front,rear;
}SqQueue;
二叉树
typedef char ElemType; //元素类型
typedef struct Node
{ ElemType data;
struct Node *lchild,*rchild;
}BTNode,*BiTree;
图
#define MAXVNUM 10 //顶点最大个数
typedef struct Node
{ int adjvex;
struct Node *nextarc;
int weight; //边的权
}ArcNode; //表结点
#define VertexType int //顶点元素类型
typedef struct
{ int degree,indegree;//顶点的度,入度
VertexType data;
ArcNode *firstarc;
}VNode/*头结点*/;
typedef struct{
VNode vertices[MAXVNUM];
int vexnum,arcnum;//顶点的实际数,边的实际数
}ALGraph;
查找
#define N 30
typedef struct node
{ char name[20];
struct node *next;
}NODE;
NODE *HashTable[N];
排序
#define MAXSIZE 100 /*参加排序元素的最大个数*/
typedef struct list
{ char name[20];
float score;
}STU;
STU r[MAXSIZE+1];//下标0不用