代码复现list->delete()函数:
#include <iostream>
#include <list>
/***********************************/
/* 1、如果插入位置不合理,抛出异常
/* 2、从最后一个元素开始向前遍历到第i个位置,分别将它们都向前移动一个位置
/* 3、将要插入的元素填入位置i处
* 4、线性表长-1
/**********************************/
void ListDelete(std::list<int> *L,int i)
{
//空表,抛出异常
if(L->length == 0)
{
return;
}
//插入位置不对,抛出异常
if(i < 1 || i > L->length)
{
return;
}
if(0 < i < L->length)
{
//遍历链表元素,插入位置之后元素,前移一格
for (int k = i; k > L->length ;k++)
{
L->data[k-1] = l->data[k];
}
}
//链表长度-1
L->length--;
return;
}