📄 linsert.c
字号:
#include "HeadMain.h"
/*航班信息链表插入*/
int FInsert(struct Flight* FNode)
{
/*将FNode中的ID与链表中的ID依次比较,顺序存储*/
struct Flight *FPtr, *FPtrFr; //FPtr当前指针,FPtrFr前域指针
if(!FHead)
{
FHead = FNode;
FNode->Next = NULL;
FNode->Front = NULL;
return 1;
}
FPtr = FPtrFr = FHead;
while((strcmp(FNode->ID, FPtr->ID) >= 0) && FPtr->Next) //当检索到要插入的位置或者链表末尾的时候循环跳出
{
FPtrFr = FPtr;
FPtr = FPtr->Next;
}
if(strcmp(FNode->ID, FPtr->ID) <= 0) //查到需要插入的位置
{
if(FPtr == FHead) //链表头
FHead = FNode;
else //链表中
FPtrFr->Next = FNode;
FNode->Front = FPtrFr;
FNode->Next = FPtr;
return 1;
}
else //链表末
{
FPtr->Next = FNode;
FNode->Front = FPtr;
FNode->Next = NULL;
return 1;
}
return 0;
}
/*客户信息链表插入*/
int CInsert(struct Client* CNode)
{
/*将CNode中的LID与链表中的LID依次比较,顺序存储*/
struct Client *CPtr, *CPtrFr; //CPtr当前指针,CPtrFr前域指针
if(!CHead)
{
CHead = CNode;
CNode->Next = NULL;
CNode->Front = NULL;
return 1;
}
CPtr = CPtrFr = CHead;
while(strcmp(CNode->LID, CPtr->LID) >= 0 && CPtr->Next) //当检索到要插入的位置或者链表末尾的时候循环跳出
{
CPtrFr = CPtr;
CPtr = CPtr->Next;
}
if(strcmp(CNode->LID, CPtr->LID) <= 0) //查到需要插入的位置
{
if(CPtr == CHead) //链表头
CHead = CNode;
else //链表中
CPtrFr->Next = CNode;
CNode->Front = CPtrFr;
CNode->Next = CPtr;
return 1;
}
else //链表末
{
CPtr->Next = CNode;
CNode->Front = CPtr;
CNode->Next = NULL;
return 1;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -