江西智能网站建设,门户网站开发源代码,方案设计基本步骤,自己做的网站打开太慢题目地址 https://pintia.cn/problem-sets/15/exam/problems/type/6?problemSetProblemId725page0 注意审题#xff0c;返回false的时候不要返回ERROR#xff0c;否则答案错误#xff0c;机器规则是死的。
位置一般指数组下标#xff0c;位序一般指数组下标1。但是思…题目地址 https://pintia.cn/problem-sets/15/exam/problems/type/6?problemSetProblemId725page0 注意审题返回false的时候不要返回ERROR否则答案错误机器规则是死的。
位置一般指数组下标位序一般指数组下标1。但是思路是一样的 比如向位置1插入元素现在L-last是5 相当于向位序2插入元素目前元素length有6个
但都是执行(5-1)1 或者(6-2)1次 即 L-last-P1次 这个自己列举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 MakeEmpty()
{int i 0;List L (List)malloc(sizeof(struct LNode));for(;iMAXSIZE;i){L-Data[i]0;}//L-Last-1;一定要写这个我之前不写这个就错了-1即不合法也就是刚创建的时候赋为-1L-Last-1; return L;
}/*返回顺序表中的元素X的位置(数组下标),找不到返回ERROR*/
Position Find(List L,ElementType X)
{int i 0;//for(;iMAXSIZE;i) //查找长度应该是L-Last1次而不是MAXSIZEfor(;i(L-Last1);i){if(L-Data[i]X)return i;}return ERROR;//这里只能写ERROR不能写false 因为题目要求
}/*将X插入在位置P并返回true。若空间已满则打印“FULL”并返回false
如果参数P指向非法位置则打印“ILLEGAL POSITION”并返回false*/
bool Insert( List L, ElementType X, Position P )
{int i 0;/*判断空间满了就返回FULL*/if(L-Last MAXSIZE-1){printf(FULL);//return ERROR;return false;}//if(P0||PMAXSIZE-1) MAXSIZE和L-Last不是一个东西啊哎呦忘了if(P0||P(L-Last1)) //也就是PL-Last2的时候明显不合适因为中间的 L-Last1这个位置空了{printf(ILLEGAL POSITION);//return ERROR;return false;}ElementType t L-Last;for(i0;i(L-Last1)-P;i){L-Data[t1]L-Data[t];t--; //一定要在for循环里面加t--不然for循环相当于重复执行相同操作}L-Data[P]X;L-Last;return true;//一定要写这个否则就是答案错误这题目好蛋疼,必须按照要求来
}/*将位置P的元素删除并返回true。若参数P指向非法位置则打印“POSITION P EMPTY”其中P是参数值并返回false。*/
bool Delete( List L, Position P )
{int i 0;if(P0||P((L-Last)1)) //这里错了
// if(P0||P(L-Last)){//printf(POSITION %d EMPTY\n,P); //不能加\n否则提示格式不对printf(POSITION %d EMPTY,P);//return ERROR; //题目让写false就不能写ERRORreturn false;}for(;i(L-Last)-P;i){L-Data[P]L-Data[P1];PP1;}L-Last--;return true;
}