视频讲解在这里哦(感谢支持!)👇
p18 第四题王道数据结构课后算法题(c语言代码实现)_哔哩哔哩_bilibili
本题代码如下
void deletest(struct sqlist* L, int s, int t)
{
int i = 0;
int j = 0;
if (s >= t || L->length == 0)
printf("错误");
for (i = 0; i < L->length && L->a[i] < s; i++)
{
;
}
if (i > L->length)
printf("错误");
for (j = i; j < L->length && L->a[j] <= t; j++)
{
;
}
for (; j < L->length; i++, j++)
L->a[i] = L->a[j];
L->length = i;
}
完整测试代码
#include<stdio.h>
#define Max 50
struct sqlist
{
int a[Max];
int length;
};
void deletest(struct sqlist* L, int s, int t)
{
int i = 0;
int j = 0;
if (s >= t || L->length == 0)
printf("错误");
for (i = 0; i < L->length && L->a[i] < s; i++)
{
;
}
if (i > L->length)
printf("错误");
for (j = i; j < L->length && L->a[j] <= t; j++)
{
;
}
for (; j < L->length; i++, j++)
L->a[i] = L->a[j];
L->length = i;
}
int main()
{
struct sqlist L;
L.length = 6;
int k = 0;
for (k = 0; k < L.length; k++)
scanf("%d", &L.a[k]);
printf("原始的顺序表为:");
for (k = 0; k < L.length; k++)
printf("%d", L.a[k]);
deletest(&L, 3, 5);
printf("\n删除后的顺序表为:");
for (k = 0; k < L.length; k++)
printf("%d", L.a[k]);
return 0;
}