第三周项目4顺序表应用2 删除元素在[x,y]之间的所有元素

/*     
*Copyright (c) 2017,烟台大学计算机与控制工程学院     
*All rights reserved.     
*文件名称:项目4 -删除元素在[x,y]之间的所有元素”     
*作    者:邵雪源     
*完成日期:2017年9月17日     
*版 本 号:v1.0         
*/ 
#include <stdio.h>
#include <stdlib.h>
typedef struct
{ 
int date[10];
 int length;
}SQ;
void CreateList(SQ *&L,int a[],int n)
{
   L=(SQ *)malloc(sizeof(SQ));
  for(int i=0;i<n;++i) 
  { L->date[i]=a[i];
     L->length=n;
  }
}
void DeleteList(SQ *&L,int x,int y)
{ 
    x=x-1; 
    if(y-x+1==L->length)
    {
        L->length=0; return ;
    } 
    else 
        for(int i=y;i<L->length;++i) 
        L->date[x++]=L->date[i];
        L->length-=y-x+2;
}
void DisplayList(SQ *&L)
{ 
    if(L->length==0)
        return ; 
    for(int i=0;i<L->length;++i) 
        { 
            if(i==0)
             printf("%d",L->date[i]); 
    else 
        printf(" %d",L->date[i]);
    } 
    printf("\n");
}
int main()
{ 
    SQ *L; 
    int a[10]={1,2,3,4,5,6,7,8,9,10};
     CreateList(L,a,10);
      DisplayList(L); 
      DeleteList(L,2,8);
       DisplayList(L);}
/*//附:两种形式
struct SQ
{ 
int date[10]; 
int length;
};
struct SQ *CreateList(SQ *&L,int a[],int n)
typedef struct
{
 int date[10]; 
 int length;
 }SQ;
 void CreateList(SQ *&L,int a[],int n)//还必须要加typedef?*/

posted @ 2017-09-17 19:58  衣带渐宽、为伊憔悴  阅读(354)  评论(0编辑  收藏  举报