(用结构体实现):线性表递增有序,针对顺序表,写算法删除线性表中值介于a与b(a≤b)之间的元素

来源:百度知道 编辑:UC知道 时间:2024/06/30 18:08:07

看你需要的就行,如果用链表,差不多
我用的win-tc编译器,如果你用其他的编译器,可能要加些头文件
/*用连续的空间存储线性表*/
#define datamax 100
typedef struct node{ /*存储线性表的数据结构*/
int data[datamax];
int length;
}list,*listp;

main()
{
void change(listp L);
int del_a_b(listp L,int a,int b);
void print(listp L);

int i,a,b,m;
listp L;
L=(list *)malloc(sizeof(list));/*定义线性表*/
L->length=0;
for(i=0;;i++)/*初始化线性表*/
{
printf("Input a number(end of -10000):");
scanf("%d",&m);
if(m!=-10000)
{
L->data[i]=m;
L->length++;
}
else break;
}
change(L); /*使线性表有序*/
print(L); /*输出线性表*/
printf("\n");
for(i=0;;i++) /*检测a与b的值是否输入合理*/
{
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
if(a<b)break;
else pr