以下代码仅供参考:
六、
int delete_prior(LinkList s)
{
LinkList sNode = s; // 暂存s节点
LinkList targetNode; // 要删除的目标节点
// 找到s节点的前驱节点targetNode
while (s->next != sNode)
{
s = s->next;
}
targetNode = s;
// 找targetNode的前驱节点
while (s->next != targetNode)
{
s = s->next;
}
s->next = sNode;
targetNode->next = NULL;
}
七、
typedef int QElemType;
typedef struct _SqQueue
{
QElemType *data;
int cap;
int front;
int rear;
}SqQueue;
int EnQueue(SqQueue *Q, QElemType e)
{
// 队满直接返回0
if ((Q->rear+1)%(Q->cap+1) == Q->front)
{
return 0;
}
else
{
Q->data[Q->rear] = e;
Q->rear = (Q->rear + 1) % (Q->cap + 1);
return 1;
}
}