📄 link.cpp
字号:
// Link.cpp: implementation of the CLink class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "addr.h"
#include "Link.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CLink::CLink()
{
}
CLink::~CLink()
{
}
void CLink::QueList(Link h, int link_No)
{
Link temp1,temp2;
int s;
for(int y=0;y<link_No;y++)
{
for(int x=1;x<link_No-y;x++)
{
temp1 = GetList(h,y);
temp2 = GetList(h,y+1);
s = strcmp(temp1->Name,temp2->Name);
if(s>0)
{
Insert(h,temp2->Name,temp2->AddrName,temp2->AddrDate,temp2->Rlt,y);
Delete(h,y+2);
}
}
}
}
void CLink::Delete(Link h, int i)
{
Link p,q;
if(i==0) p=h;
else p=GetList(h,i-1); //求第i-1的地址
if(p&&p->Next) //若p及p->next所在的结点存在
{
q=p->Next;
p->Next=q->Next;
delete q; //删除//
Delok = TRUE;
}
else //否则失败
{
Delok = FALSE;
}
}
void CLink::Insert(Link h, CString name, CString addrname, CString addrdate, int rlt, int i)
{
Link p, q;
if(i==0) p=h;
else p=GetList(h ,i-1); //取结点i-1的指针
if(p==NULL)
{
Inok = FALSE;
}
else
{
q = new Node; //申请插入结点
q->Name = name;
q->AddrName = addrname;
q->AddrDate = addrdate;
q->Rlt=rlt;
q->Next = p->Next; //插入新结点
p->Next = q;
Inok = TRUE;
}
}
void CLink::InitList() //初始化结点
{
Link h;
h = new Node;
H = h;
H->Next = NULL;
}
Link CLink::Find(Link h, CString name)
{
Link p=h->Next;
while(p!=NULL&&p->AddrName!=name)
{
p=p->Next;
}
return p;
}
Link CLink::GetList(Link h, int i)
{
int j=-1;
Link p=h;
if (i<0) return(NULL);
while(p->Next&&j<i)
{
p=p->Next;j++;
}
if (i==j) return(p);
else return(NULL);
}
Link CLink::GetLast()
{
return L;
}
Link CLink::GetHead()
{
return H;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -