bool Insert( List L, ElementType X )
{
int i=0,j;
if(L->Last+1==MAXSIZE)
return false;
for(i=0;i<=L->Last;i++)
{
if(L->Data[i]==X)
return false;
else if(L->Data[i]<X)
{
for(j=L->Last;j>=i;j--)
{
L->Data[j+1]=L->Data[j];
}
L->Data[i]=X;
L->Last++;
break;
}
else if(i==L->Last&&L->Data[i]>X)
{
L->Data[L->Last+1]=X;
L->Last++;
break;
}
}
return true;//因为上面的在两种插入最终都是返回true所以直接上面结束之后break跳出整个循环然后返回return即可
}
注意
- 对于元素的插入要判断从最前面,中间,最后插入。最前面和中间的插入可以共用一个循环体进行实现,但是再最后面的插入要单独分出一种算法进行实现
- !!!要注意在对元素的插入完成之后还要将元素的最后一位的位置加一