题目地址
https://pintia.cn/problem-sets/15/exam/problems/type/6?problemSetProblemId=725&page=0
注意审题,返回false的时候不要返回ERROR,否则答案错误,机器规则是死的。
位置一般指数组下标,位序一般指数组下标+1。但是思路是一样的
比如向位置1插入元素,现在L->last是5
相当于向位序2插入元素,目前元素length有6个
但都是执行(5-1)+1 或者(6-2)+1次 即 L->last-P+1次
这个自己列举2个例子就能推出。
下面是个人写的代码,注释部分为我犯得错误,可以忽略,主要是本人记录学习用的
/*位置一般指数组下标,位序一般指数组下标+1*/
#define MAXSIZE 5
#define ERROR -1
typedef enum {
false, true} bool;
typedef int ElementType;
typedef int Position;
typedef struct LNode *List;
typedef int Position;
typedef struct LNode *List;
struct LNode {
ElementType Data[MAXSIZE];
Position Last; /* 保存线性表中最后一个元素的位置 */
};
/*创建一个空的顺序表*/
List