#include
#include
#include
#define ERROR 0
#define OK 1
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}Node,*LinkList;/*LinkList为结构指针类型,用来说明头指针变量*/
void initlinklist(LinkList *L)/*初始化单链表*/
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void Create(LinkList L)/*建立单链表*/
{
Node *s,*r;
char c;
int flag=1;
r=L;
while(flag)
{
scanf("%d",&c);
if(c!=-1)/*当输入-1时建表结束*/
{
s=(Node *)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
int ListLength(LinkList L)
{
int i=0;
Node *p;
p=L->next;
while(p!=NULL)
{p=p->next;
i++;}
return i;
}
void print(LinkList L)
{
Node *p;
p=L->next;
printf("/nThe list value is:");
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
void Delete_Between(LinkList L,int min,int max)
{
Node *p,*q;
if(max>=min)
{
p=L;
q=p->next;
while(q!=NULL&&q->data<=min)
{
p=q;
q=q->next;
}
while(q!=NULL&&q->data
{
p->next=q->next;
free(q);
q=p->next;
}
}
}
void main()
{
LinkList LA;
Node *p,*q;
int i,len;
char min,max;
initlinklist(&LA);
printf("please Create the LA,using the -1 End(the increasing):/n");
Create(LA);
print(LA);
getchar();
printf("/nplease input the value of min and max:");
scanf("%d %d",&min,&max);
Delete_Between(LA,min,max);
print(LA);
}
#include
void dels(int a[],int *n,int min,int max)
{int i,j,k;
for(i=j=k=0;i<*n;i++)
if(a[i]>min&&a[i]else a[j++]=a[i];
*n-=k;
}
int main()
{int a[14]={67,57,76,78,99,90,96,87,93,76,68,79,24,98};
int max,min,n=14,i;
printf("原有的数:\n");
for(i=0;iprintf("%d ",a[i]);
printf("\nmin max=");
scanf("%d%d",&min,&max);
dels(a,&n,min,max);
printf("删除后的数:\n");
for(i=0;iprintf("%d ",a[i]);
return 0;
}
顺序表定义,建立和显示我就不写了,就写删除这个函数。
SeqList Delete(SeqList &L, int min, int max)
{
int count=L.Length;
for (int i=0; i{
if ((L.data[i]min))
{
L.data[i]=L.data[i+1];
count--;
}
}
L.Length=count;
return L;
}
//删除表中所有大于min而且小于max的元素
status DeleteItem(SeqList &L,int min,int max){
int i,j;
if(min >= max)
return ERROR;
for(i=0;i
if(L.elem[i]>min && L.elem[i]
for(j=i;j
L.elem[j]=L.elem[j+1];
--L.length;
}
}
}
return OK;
}