删除顺序表中值在S与T之间(S和T的大小关系任意)的所有元素,要求该算法的时间复杂度为O(n),若S和T不合理或顺序表位空则显示错误信息。
删除顺序表中值在S与T之间(S和T的大小关系任意)的所有元素,要求该算法的时间复杂度为O(n),若S和T不合理或顺序表位空则显示错误信息。顺序表的排序,要求该算法的时间复杂度为O(n㏒2n),然后调用函数输出处理之后的顺序表
#include <stdio.h>
#define N 10
#define size 10
typedef struct
{
int s[N];
int size;
}A;
void Delete(A *L,int s[],int t,int d)//t为要删除的数的位置
{
int i;
for(i=t;i<N;i++)
{
s[i-1]=s[i];
L.size--;
}
}
int main(void)
{
A *L
int s[N];
int i,t,d;
for(i=0;i<N;i++)
{
scanf("%d",&s[i]);
}
printf("请输入要删除元素的位置:\n");
scanf("%d%d",&t,&d);
Delete(L,s,t,d);
for(i=0;i<N-d+t+1;i++)
{
printf("%d ",s[i]);
}
printf("\n");
return 0;
}
求修改