您的位置:首页 > 其它

删除线性表第i个元素开始的k个元素

2013-05-30 08:28 302 查看
#include <stdio.h>

#include <stdlib.h>

#define maxsize 100

#define false 0

#define true 1

typedef int elemtype;

typedef struct

{

elemtype a[maxsize];

int length;

}sqlist;

void creat(sqlist *L);

void out(sqlist *L);

void delet(sqlist *L,int i,int k);

void creat(sqlist *L)

{

int i,k;

printf("请输入你创建的线性表的大小:\t");

scanf("%d",&k);

printf("\n");

for(i=0;i<k;i++)

{

scanf("%d",&L->a[i]);

L->length++;

}

}

void out(sqlist *L)

{

int i;

printf("\n线性表为:\n\n");

for(i=0;i<L->length;i++)

{

printf("%d\t",L->a[i]);

}

}

void delet(sqlist *L,int i,int k)

{

int j;

if(i<=L->length&&i>=1)

{

if((i+k)>L->length)

{

printf("error!\n");

}

else

{

for(j=i-1+k;j<L->length;j++)

{

L->a[i-1]=L->a[j];

i++;

}

L->length=L->length-k;

}

}

else

{

printf("\nerror!\n");

}

}

void main()

{

sqlist *a;

int i,k;

creat(&a);

getch();

out(&a);

getch();

printf("\n\n请输入您要删除的第i个k个数(i k):");

scanf("%d%d",&i,&k);

delet(&a,i,k);

out(&a);

getch();

exit(0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐