问题:试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,a2,...,an)逆置为(an,an-1,...,a1)
算法思想:观察原表和新表顺序,逆置后的线性表是将原表相应位置的元素进行交换,即交换第一个和最后一个,第二个和倒数第二个,依此类推
源码
//顺序表结构体,表中的元素以整数为例
typedef struct
{
int *elem;
int length;
// int listsize;该项为顺序表的大小,本题中未使用
}SqList;
//逆置算法
void InverseLinearList(SqList *list)
{
int i=0;
for (i=0; i<list->length/2; ++i)
{
//因为要求用原表空间,所以交换时可以使用以下两种方法
//据说这种交换方式,在有些面试当中会考查
/*li