📄 rlink.cpp
字号:
// RLink.cpp: implementation of the CRLink class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Lib.h"
#include "RLink.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRLink::CRLink()
{
}
CRLink::~CRLink()
{
}
void CRLink::RInsert(LinkR h, CString RCode, CString RName, CString RCompany, CString RKind,CString RBooks, int i)
{
LinkR p, q;
if(i==0) p=h;
else p=GetListR(h ,i-1); //取结点ai-1的指针//
if(p==NULL)
{
RInok = FALSE;
}
else
{
q = new RNode; //申请插入结点
q->RCode=RCode;
q->RName=RName;
q->RKind=RKind;
q->RCompany=RCompany;
q->RBooks=RBooks;
q->Next = p->Next; //插入新结点
p->Next = q;
RInok = TRUE;
}
}
void CRLink::Delete(LinkR h, int i)
{
LinkR p,q;
if(i==0) p=h;
else p=GetListR(h,i-1); //求第i-1的地址
if(p&&p->Next) //若p及p->next所在的结点存在
{
q=p->Next;
p->Next=q->Next;
delete q; //删除//
RDelok = TRUE;
}
else //否则失败
{
RDelok = FALSE;
}
}
void CRLink::InitListR()
{
LinkR h;
h = new RNode;
RH = h;
RH->Next = NULL;
}
LinkR CRLink::GetLastR()
{
return RL;
}
LinkR CRLink::GetHeadR()
{
return RH;
}
LinkR CRLink::GetListR(LinkR h, int i)
{
int j=-1;
LinkR p=h;
if (i<0) return(NULL);
while(p->Next&&j<i)
{
p=p->Next;j++;
}
if (i==j) return(p);
else return(NULL);
}
LinkR CRLink::Find(LinkR h, CString rcode)
{
LinkR p=h->Next;
while(p!=NULL&&p->RCode!=rcode)
{
p=p->Next;
}
return p;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -