试设计一个算法,删除一个顺序表从第i个元素开始的k个元素
Posted c.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试设计一个算法,删除一个顺序表从第i个元素开始的k个元素相关的知识,希望对你有一定的参考价值。
- 试设计一个算法,删除一个顺序表从第i个元素开始的k个元素
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define OK 1
#define ERROR 0
#define MAXSIZE 20
typedef int ElemType;
typedef int Status;
typedef struct
ElemType data[MAXSIZE];
int Length;
SqList;
//初始化顺序表
Status InitSqList(SqList * L)
L->Length=0;
return OK;
//顺序表的建立
Status Create(SqList * L,int n)
srand(time(0));
for(int i=0;i<n;i++)
L->data[i]=rand()%100+1;
L->Length++;
return OK;
//顺序表的删除
Status Delete(SqList * L,int Location)
if(L->Length==0) //线性表为空
return ERROR;
if(Location<L->Length)
for(int i=Location;i<L->Length;i++)
L->data[i-1]=L->data[i];
L->Length--;
return OK;
void Print(SqList * L)
for(int i=0;i<L->Length;i++)
printf("%d ",L->data[i]);
printf("\\n");
int main()
SqList L;
int ElemNumber;
int Location,Number;
InitSqList(&L);
printf("请输入元素个数:\\n");
scanf("%d",&ElemNumber);
Create(&L,ElemNumber);
Print(&L);
printf("请输入删除的位置和删除的元素个数:\\n");
scanf("%d%d",&Location,&Number);
if(Number>=L.Length)
printf("输入有误\\n");
return 0;
else
while(Number--)
Delete(&L,Location);
Print(&L);
return 0;
以上是关于试设计一个算法,删除一个顺序表从第i个元素开始的k个元素的主要内容,如果未能解决你的问题,请参考以下文章
设计一个算法,删除串s中从第i个字符开始的连续j个字符,说明算法所用的存储结构,并估计算法的执行时间。
C++数据结构,写一种算法,从顺序表删除第i个元素开始的第k个元素