/*
*创建链栈
*创建一个top指针代表head指针
*采用链式存储结构
*采用头插法创建链表
*操作 创建 出栈 入栈 取栈顶元素
*创建数据域的结构体
*创建数据域的名称指针
*使用随机函数对数据域的编号进行赋值
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#define OK 1
#define ERROR 0
#define NAMESIZE 255//字符串的最大长度
int count=0;//链栈中数据元素的个数
typedef int IdType;//数据域的数据类型
typedef char *NameType;//数据域名称的数据类型
typedef int Statu;//函数返回值的数据类型
typedef struct elementtype
{
IdType id;
NameType name;//数据域的名称的指针
}ElementType;
typedef struct linkstack
{
ElementType *data;//数据域指针
struct linkstack *next;//指向下一个节点的指针
}Link_Stack;//链栈的结构体
Statu create_linkstack(Link_Stack *top);//链栈的创建
void Init_linkstack(Link_Stack *top);//链栈的初始化
Statu push_linkstack(Link_Stack *top,ElementType key);//入栈
Statu pop_linkstack(Link_Stack *top,ElementType *key);//出栈
Statu getdata_linkstack(Link_Stack*top,ElementType *data);//取栈顶元素
Statu empty_linkstack(Link_Stack*top);//判断栈是否为空
void Display_li