#define ListSize 100 typedef struct { ElemType elem[ListSize]; int length; }Sqlist; void sq_dele(Sqlist*L,ElemType K1,ElemType K2) { i=0; while(i<L->length) if((L->elem[i]>=K1)&&(L->elem[i]<=K2)) break; else i++; if(i<L->length) { j=1; while((i+j<L->length)&&(L->elem[i+j]<=K2)) j++; for(k=i+j;k<L->length;k++) L->elem[k-j]=L->[k]; L->length=L->length-j; } }/*sq_dele*/ 添加注释
时间: 2024-03-31 08:34:12 浏览: 87
#define,const,typedef三者联系与区别
这段代码定义了一个长度为ListSize的顺序表结构体Sqlist,其中包含了ElemType类型的数组elem和整型变量length。接下来sq_dele函数表示删除顺序表中值在K1和K2之间的元素。其中使用了i、j、k三个整型变量来作为循环计数器。具体实现过程为:
1. 初始化i为0,使用while循环查找第一个值在K1和K2之间的元素,直到找到或者遍历完整个表。
2. 如果找到了该元素,则初始化j为1,使用while循环找到连续的值在K1和K2之间的元素,计算出总共有j个这样的元素。
3. 从第i+j个元素开始,将后面的元素向前移动j个位置,覆盖掉第i到i+j-1个元素。
4. 最后将表的长度减少j。
注释中的/*sq_dele*/表示该段注释是针对sq_dele函数的。
阅读全文