删除线性表第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);
}
#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);
}
相关文章推荐
- 编写一个算法,从顺序表中删除自第i个元素开始的k个元素
- 设计一个算法,删除一个顺序表中从第i个元素开始的k个元素。
- 试设计一个算法,删除一个顺序表从第i个元素开始的k个元素
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数
- 删除线性表L中第i个元素起的k个元素
- 删除线性表指定位置的元素(单链表实现)
- 第08话:线性表删除某个元素
- 有序线性表指定元素的全部删除
- 2.16-从la中删除从i开始len个元素后,把删除的元素放到lb中的j位之前
- 线性表--删除元素
- 数据结构的一些基本操作(在表L中插入第i个元素e. 操作成功返回OK,失败时返回ERROR,删除表L中第i个元素,结果用e返回. 操作成功返回OK,失败时返回ERROR)
- 删除递增线性表中值大于min且小于max的元素
- 数据结构之 线性表---单链表的操作B(先逆序+再删除重复元素)
- 从la中删除字第i个元素起共len个元素后,将他们插入到表lb中第j个元素之前
- 从链表A中删除从i开始的len个元素,同时粘贴到B链表的第j元素之前
- 面试题:删除数组从下标数为i开始的j个元素
- 用C#实现单链表(取第i个结点元素,删除第i个结点)
- dropWhile删除从第一个元素开始匹配,匹配失败则停止匹配
- 数据结构之删除线性表中的元素
- 线性表中删除所有值等于X的元素(1)