关于数据结构的删除运算及插入运算
#include <stdio.h>#define MAXSIZE 50
#define A 5
#define B 6
#define C 7
typedef int DataType;
typedef struct{
DataType data[MAXSIZE];
int length;
}SqList;
void outputSqList(SqList L)
{
int i;
for(i=0;i<L.length;i++)
printf("%d\t",L.data[i]);
printf("\n");
}
void InitSqList(SqList &L)
{
L.length=0;
}
void InsertSqList(SqList &L,int i,DataType x)
{
int j;
if(i==L.length)
{
printf("\n顺序表已满,无法插入其他元素!");
return;
}
if(i<1||i>L.length)
{
printf("\n插入的位置有误!");
return;
}
for(j=L.length-1;j>=i-1;j--)
{
L.data[j+1]=L.data[j];
L.data[i-1]=x;
L.length++;
}
}//插入运算
void DeleteSqList(SqList &L,int i)
{
int j;
if(L.length==0)
{
printf("\n顺序表为空,无法删除!");
return;
}
if(i<1||i>L.length)
{
printf("\n指定的删除位置不存在!");
return;
}
for(j=i;j<L.length;j++)
{
L.data[j]=L.data[j+1];
L.length--;
}
}//删除运算
int main()
{
SqList(L);
int i;
for(i=1;i<=10;i++)
InsertSqList(L,i,i);
outputSqList(L);
DeleteSqList(L,A);
printf("删除第%d个元素后:\n",A);
outputSqList(L);
printf("在第%d个位置插入%d后:\n",B,C);
InsertSqList(L,B,C);
outputSqList(L);
return 0;
}
请问为什么停止运行了?