state-transition diagram

本文介绍了一种使用C语言实现动态数组的方法,并详细展示了初始化列表及创建数组的过程。文章通过具体代码示例,解释了如何根据输入内容创建数组并区分标识符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 #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
 }
}

 

//未完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值