/*
*Copyright(c) 2017,YTU CS
*All right reserved.
*作 者:王铭泽.
*完成日期:2017,9,10.
*版 本 号: v1.0
*
*问题描述: 删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1);
*输 入: 无
*输 出: 输出删除结果。
*/
#include <iostream>
#include "shunxuList.h"//对头文件的声明,头文件里包含有函数的声明。
using namespace std;
void D(SqList *&L,int x,int y,SqList *&L1)//删除线性表从x位置到y位置的元素。
{
InitList(L1); //初始化新表。
int f=0,w=0; //w存放新长度。
ElemType e;
//逻辑位置与物理位置的转换
x--;
y--;
//容错判断
if(x>y || y>L->length || x<1)
{
cout<<" data x or y error"<<endl;
}
for(f;f<L->length;f++)
{
if(f<x || f>y )
{
L1->data[w++]=L->data[f];
}
}
L1->length=w;
}
int main()
{
//建立A表
SqList *L1,*L2;
ElemType a[6]={1,3,5,7,9,10};
C
第三周项目(4) - 顺序表应用
最新推荐文章于 2021-05-24 06:39:51 发布