⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linsert.c

📁 用C语言编写的订票系统,功能都能实现,附有源码和可执行文件
💻 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 + -