#include<string.h>
#include<stdio.h>
#include<malloc.h>
#define MAX 100 //预分配空间
#define Increament 10 //空间增量
typedef char elemtype //定义元素类型
typedef struct
{
element date;
int length;
elemtype *base; //连续空间的地址
}List;
List InitList()
{
List l;
int i=0;
l.base=base=(elemtype *)malloc(Max *sizeof(elemtype));
if(l.base)
printf("申请失败!");
else
l.base=gets();
l.length=i;
return l.base;
}
Create_Array(List l) //识别输入串的标识符
{
int i; //表示元素的位序
/**从l.base数组中,从左往右逐个扫描源程序先将标识符(含有单个字符的字母)
从源程序中分离出来,存放到新的数组里.然后再将非字母的字符识别出来,
存放在另一个数组中, 每次识别后进行存放时,要保证字符的顺序和源程序的字符顺序
一致,所以采用顺序映像识别的字符时间复杂度为O(n),识别非标识符
的时间复杂度为O(n+2) ***/
l.Name=(element *)malloc(Max *sizeof(element));
if(l_NAME.base)
printf("/n 开辟空间失败 ! ");
j=0;
for(i=0;i<l.length-1;i++)
{
if(((l.base[i]>='a')&&(l.base[i]<='z'))||(l.base[i]>='A'&&(l.base[i]<='Z')))
l.Name[j++]=base[i];
else
}
}
//未完