视频讲解在这里(谢谢各位大佬) 👇
p18 第三题数据结构课后算法题_哔哩哔哩_bilibili
本题代码如下
void deletex(struct sqlist* s, int x)
{
int k = 0;
int i = 0;
for (i = 0; i < s->length; i++)
{
if (s->a[i] != x)//只要不等于x,就将值移到k下标处
{
s->a[k] = s->a[i];
k++;
}
}
s->length = k;
}
完整测试代码文章来源:https://www.toymoban.com/news/detail-739930.html
#include<stdio.h>
#define Max 10
struct sqlist
{
int a[Max];
int length;
};
void deletex(struct sqlist* s, int x)
{
int k = 0;
int i = 0;
for (i = 0; i < s->length; i++)
{
if (s->a[i] != x)//只要不等于x,就将值移到k下标处
{
s->a[k] = s->a[i];
k++;
}
}
s->length = k;
}
int main()
{
struct sqlist s;
int j = 0;
s.length = 6;
for (j = 0; j < s.length; j++)
scanf("%d", &s.a[j]);
printf("原始顺序表为:");
for (j = 0; j < s.length; j++)
printf("%d", s.a[j]);
deletex(&s, 1);
printf("\n删除x后的顺序表为:");
for (j = 0; j < s.length; j++)
printf("%d", s.a[j]);
return 0;
}
文章来源地址https://www.toymoban.com/news/detail-739930.html
到了这里,关于王道p18 3.对长度为n的顺序表L,编写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法删除线性表中所有值为x的数据元素。(c语言代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!